changeset 0:90adb016389d

First commit
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Wed, 08 Jan 2014 04:40:03 +0900
parents
children 6546ef0f953c
files paper/.DS_Store paper/Makefile paper/abstract.tex paper/abstract.tex.aux paper/abstract_eng.tex paper/appendix.tex paper/chapter1.tex paper/conclusion.tex paper/dummy.tex paper/images/.DS_Store paper/images/emblem-bitmap.eps paper/images/u-ryukyu-Mark.eps paper/introduciton.tex paper/jlisting.sty paper/judge.tex paper/listings.dtx paper/listings.ind paper/listings.ins paper/listings.pdf paper/lstdrvrs.dtx paper/master_paper.bib paper/master_paper.sty paper/master_paper.tex paper/mediabb.sty paper/rendering.tex paper/thanx.tex
diffstat 26 files changed, 24757 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
Binary file paper/.DS_Store has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/Makefile	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,78 @@
+TARGET = master_paper
+
+SRC = $(wildcard *.tex)
+
+LATEX   = platex -shell-escape
+BIBTEX  = pbibtex
+DVIPS   = dvips
+DVIPDFM = dvipdfmx
+RM      = rm -f
+EBB     = ebb
+
+#  Option definitions
+DVIPDFMOPT = 
+DVIPSOPT   = -D 720 -mode esphi -O 0mm,0mm -N0 
+
+#  Suffixes definitions
+.SUFFIXES: .tex .dvi
+
+#  Recipes
+all: pdf# $(TARGET).ps
+	open $(TARGET).pdf
+
+dvi:
+	@echo "----------- make dvi file ($(TARGET).dvi) ----------"
+	$(LATEX) $(TARGET)
+	$(BIBTEX) $(TARGET)
+	$(LATEX) $(TARGET)
+	$(LATEX) $(TARGET)
+pdf: dvi
+	$(DVIPDFM) $(DVIPDFMOPT) $(TARGET)
+
+clean:
+	$(RM) *~ \#*
+	@if [ -f $(TARGET).aux ];\
+		then $(RM) $(TARGET).aux;\
+	fi
+	@if [ -f $(TARGET).log ];\
+		then $(RM) $(TARGET).log;\
+	fi
+	@if [ -f $(TARGET).toc ];\
+		then $(RM) $(TARGET).toc;\
+	fi
+	@if [ -f $(TARGET).lof ];\
+		then $(RM) $(TARGET).lof;\
+	fi
+	@if [ -f $(TARGET).lot ];\
+		then $(RM) $(TARGET).lot;\
+	fi
+	@if [ -f $(TARGET).big ];\
+		then $(RM) $(TARGET).big;\
+	fi
+	@if [ -f $(TARGET).bbl ];\
+		then $(RM) $(TARGET).bbl;\
+	fi
+	@if [ -f $(TARGET).ilg ];\
+		then $(RM) $(TARGET).ilg;\
+	fi
+	@if [ -f $(TARGET).idx ];\
+		then $(RM) $(TARGET).idx;\
+	fi
+	@if [ -f $(TARGET).ind ];\
+		then $(RM) $(TARGET).ind;\
+	fi
+	@if [ -f $(TARGET).dvi ];\
+		then $(RM) $(TARGET).dvi;\
+	fi
+	@if [ -f $(TARGET).pdf ];\
+		then $(RM) $(TARGET).pdf;\
+	fi
+	@if [ -f $(TARGET).out ];\
+		then $(RM) $(TARGET).out;\
+	fi
+	@if [ -f $(TARGET).bbl ];\
+		then $(RM) $(TARGET).bbl;\
+	fi
+	@if [ -f $(TARGET).blg ];\
+		then $(RM) $(TARGET).blg;\
+	fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/abstract.tex	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,2 @@
+\begin{abstract}
+\end{abstract}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/abstract.tex.aux	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,25 @@
+\relax 
+\@setckpt{abstract.tex}{
+\setcounter{page}{2}
+\setcounter{equation}{0}
+\setcounter{enumi}{0}
+\setcounter{enumii}{0}
+\setcounter{enumiii}{0}
+\setcounter{enumiv}{0}
+\setcounter{footnote}{0}
+\setcounter{mpfootnote}{0}
+\setcounter{@paper}{1}
+\setcounter{part}{0}
+\setcounter{chapter}{0}
+\setcounter{section}{0}
+\setcounter{subsection}{0}
+\setcounter{subsubsection}{0}
+\setcounter{paragraph}{0}
+\setcounter{subparagraph}{0}
+\setcounter{figure}{0}
+\setcounter{table}{0}
+\setcounter{defnum}{0}
+\setcounter{float@type}{8}
+\setcounter{lstnumber}{1}
+\setcounter{lstlisting}{0}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/abstract_eng.tex	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,2 @@
+\begin{abstract}
+\end{abstract}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/appendix.tex	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,8 @@
+\chapter*{発表履歴}
+\addcontentsline{toc}{chapter}{発表文献}
+
+\begin{itemize}
+\item{Cassandraを用いたCMSのPCクラスタを用いたスケーラビリティ検証,\\ 玉城将士, 河野真治(琉球大学), \\ 日本ソフトウェア科学会27回大会 (2010年度) 講演論文集, Sep, 2010}
+\item{Cassandraを使ったスケーラビリティのあるCMSの設計,\\ 玉城将士, 河野真治(琉球大学), \\ 情報処理学会, March, 2011}
+\item{Cassandraと非破壊的木構造を用いたCMSのスケーラビリティ検証環境の構築, \\ 玉城将士, 河野真治(琉球大学), \\ 日本ソフトウェア科学会28回大会 (2011年度) 講演論文集, Sep, 2011}
+\end{itemize}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/chapter1.tex	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,1 @@
+\chapter{chapter1}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/conclusion.tex	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,8 @@
+\chapter{結論} \label{chapter:conclusion}
+
+\section{まとめ}
+
+\section{今後の課題}
+
+\subsection{Mergerの実装}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/dummy.tex	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,60 @@
+%%% jdummy.def
+%
+\DeclareRelationFont{JY1}{mc}{it}{}{OT1}{cmr}{it}{}
+\DeclareRelationFont{JT1}{mc}{it}{}{OT1}{cmr}{it}{}
+\DeclareFontShape{JY1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*min
+    <10.95><12><14.4><17.28><20.74><24.88> min10
+    <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tmin
+    <10.95><12><14.4><17.28><20.74><24.88> tmin10
+    <-> tmin10}{}
+\DeclareRelationFont{JY1}{mc}{sl}{}{OT1}{cmr}{sl}{}
+\DeclareRelationFont{JT1}{mc}{sl}{}{OT1}{cmr}{sl}{}
+\DeclareFontShape{JY1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*min
+    <10.95><12><14.4><17.28><20.74><24.88> min10
+    <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{sl}{<5> <6> <7> <8> <9> <10> sgen*tmin
+    <10.95><12><14.4><17.28><20.74><24.88> tmin10
+    <-> tmin10}{}
+\DeclareRelationFont{JY1}{mc}{sc}{}{OT1}{cmr}{sc}{}
+\DeclareRelationFont{JT1}{mc}{sc}{}{OT1}{cmr}{sc}{}
+\DeclareFontShape{JY1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*min
+    <10.95><12><14.4><17.28><20.74><24.88> min10
+    <-> min10}{}
+\DeclareFontShape{JT1}{mc}{m}{sc}{<5> <6> <7> <8> <9> <10> sgen*tmin
+    <10.95><12><14.4><17.28><20.74><24.88> tmin10
+    <-> tmin10}{}
+\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmbx}{it}{}
+\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmbx}{it}{}
+\DeclareFontShape{JY1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{sl}{}{OT1}{cmbx}{sl}{}
+\DeclareRelationFont{JT1}{gt}{sl}{}{OT1}{cmbx}{sl}{}
+\DeclareFontShape{JY1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{sl}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{sc}{}{OT1}{cmbx}{sc}{}
+\DeclareRelationFont{JT1}{gt}{sc}{}{OT1}{cmbx}{sc}{}
+\DeclareFontShape{JY1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{mc}{bx}{sc}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\DeclareRelationFont{JY1}{gt}{it}{}{OT1}{cmr}{it}{}
+\DeclareRelationFont{JT1}{gt}{it}{}{OT1}{cmr}{it}{}
+\DeclareFontShape{JY1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*goth
+    <10.95><12><14.4><17.28><20.74><24.88> goth10
+    <-> goth10}{}
+\DeclareFontShape{JT1}{gt}{m}{it}{<5> <6> <7> <8> <9> <10> sgen*tgoth
+    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
+    <-> tgoth10}{}
+\endinput
+%%%% end of jdummy.def
Binary file paper/images/.DS_Store has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/emblem-bitmap.eps	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,376 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (emblem.eps)
+%%CreationDate: (Sat Dec 16 23:16:28 2000)
+%%BoundingBox: 226 313 398.455 493
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 0
+%%EndComments
+
+%%BeginDefaults
+%%PageOrientation: Portrait
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image.  The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/buffer 512 string def
+/byte 1 string def
+/color_packet 3 string def
+/pixels 768 string def
+
+/DirectClassPacket
+{
+  %
+  % Get a DirectClass packet.
+  %
+  % Parameters:
+  %   red.
+  %   green.
+  %   blue.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  compression 0 gt
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+  %
+  % Display a DirectClass image.
+  %
+  systemdict /colorimage known
+  {
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { DirectClassPacket } false 3 colorimage
+  }
+  {
+    %
+    % No colorimage operator;  convert to grayscale.
+    %
+    columns rows 8
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { GrayDirectClassPacket } image
+  } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+  %
+  % Get a DirectClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   red
+  %   green
+  %   blue
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile color_packet readhexstring pop pop
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 gt
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet;  convert to grayscale.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  color_packet 0 get 0.299 mul
+  color_packet 1 get 0.587 mul add
+  color_packet 2 get 0.114 mul add
+  cvi
+  /gray_packet exch def
+  compression 0 gt
+  {
+    /number_pixels 1 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add def
+  } ifelse
+  0 1 number_pixels 1 sub
+  {
+    pixels exch gray_packet put
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+  %
+  % Get a PseudoClass packet.
+  %
+  % Parameters:
+  %   index: index into the colormap.
+  %   length: number of pixels minus one of this color (optional).
+  %
+  currentfile byte readhexstring pop 0 get
+  /offset exch 3 mul def
+  /color_packet colormap offset 3 getinterval def
+  compression 0 gt
+  {
+    /number_pixels 3 def
+  }
+  {
+    currentfile byte readhexstring pop 0 get
+    /number_pixels exch 1 add 3 mul def
+  } ifelse
+  0 3 number_pixels 1 sub
+  {
+    pixels exch color_packet putinterval
+  } for
+  pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+  %
+  % Display a PseudoClass image.
+  %
+  % Parameters:
+  %   class: 0-PseudoClass or 1-Grayscale.
+  %
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  class 0 gt
+  {
+    currentfile buffer readline pop
+    token pop /depth exch def pop
+    /grays columns 8 add depth sub depth mul 8 idiv string def
+    columns rows depth
+    [
+      columns 0 0
+      rows neg 0 rows
+    ]
+    { currentfile grays readhexstring pop } image
+  }
+  {
+    %
+    % Parameters:
+    %   colors: number of colors in the colormap.
+    %   colormap: red, green, blue color packets.
+    %
+    currentfile buffer readline pop
+    token pop /colors exch def pop
+    /colors colors 3 mul def
+    /colormap colors string def
+    currentfile colormap readhexstring pop pop
+    systemdict /colorimage known
+    {
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { PseudoClassPacket } false 3 colorimage
+    }
+    {
+      %
+      % No colorimage operator;  convert to grayscale.
+      %
+      columns rows 8
+      [
+        columns 0 0
+        rows neg 0 rows
+      ]
+      { GrayPseudoClassPacket } image
+    } ifelse
+  } ifelse
+} bind def
+
+/DisplayImage
+{
+  %
+  % Display a DirectClass or PseudoClass image.
+  %
+  % Parameters:
+  %   x & y translation.
+  %   x & y scale.
+  %   label pointsize.
+  %   image label.
+  %   image columns & rows.
+  %   class: 0-DirectClass or 1-PseudoClass.
+  %   compression: 0-RunlengthEncodedCompression or 1-NoCompression.
+  %   hex color packets.
+  %
+  gsave
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  x y translate
+  currentfile buffer readline pop
+  token pop /x exch def
+  token pop /y exch def pop
+  currentfile buffer readline pop
+  token pop /pointsize exch def pop
+  /Helvetica findfont pointsize scalefont setfont
+  x y scale
+  currentfile buffer readline pop
+  token pop /columns exch def
+  token pop /rows exch def pop
+  currentfile buffer readline pop
+  token pop /class exch def pop
+  currentfile buffer readline pop
+  token pop /compression exch def pop
+  class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+  grestore
+} bind def
+%%EndProlog
+%%Page:  1 1
+%%PageBoundingBox: 226 313 399 494
+userdict begin
+%%BeginData:
+DisplayImage
+226 313
+173.455 181.091
+12.000000
+159 166
+1
+1
+1
+1
+fffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffff
+fffffffefffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffff
+fffffffffffffffefffffffffffffffffffffffffffffffffffffffeffffffffffffffff
+fffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffeffffffff
+fffffffffe0000fffffffffffffffffeffffffffffffffffc0000007fffffffffffffffe
+fffffffffffffff8000000003ffffffffffffffeffffffffffffffe00002000007ffffff
+fffffffeffffffffffffff008133000000fff8fffffffffefffffffffffffc04efbba440
+003ff0fffffffffeffffffffffffe017fffff661000ff0fffffffffeffffffffffff813f
+f803ffe7fffff0fffffffffeffffffffffff03f8000007fffffff0fffffffffeffffffff
+fffc3f813ffe003ffffff0fffffffffeffffffffffc1c1ffffffff8700000000000ffffe
+ffffffffff078ffffffffff300000000000ffffeffffffffff078ffffffffff300000000
+000ffffefffffffffe3e3ffbdee67fff00000000000ffffefffffffffc787ff99eee6fff
+07f83fe1000ffffefffffffff8e3ff319dce4cff0ff83fe3ff8ffffefffffffff38ffb93
+9dcc4cef0ff83fe3ff8ffffeffffffffc63ffb919dcc4ccf0ff83fe3ff8ffffeffffffff
+9cffbb119dcc48cf0ff83fe3ff8ffffeffffffff73ffb1111988488f0ff83fe3ff8ffffe
+fffffffee7fbb1111988c19f0ff83fe3ff8ffffefffffffb9ff19100198800070ff83fe3
+ff8ffffefffffff73e719000110000070ff83fe3ff8ffffeffffffecff38880011000007
+0ff83fe3ff8ffffeffffffecff388800110000070ff83fe3ff8ffffefffffff9fb38800e
+110000070ff83fe3ff8ffffefffffff3f318001f81000d870ff83fe3ff8ffffeffffffef
+fb98007fc0003fe70ff83fe3ff8ffffeffffffffd98c01ffe0003fff0ffc7fe3ff8ffffe
+ffffffdf898403f1e000fffffffffffffffffffeffffffbecc800fe0e001f27fffffffff
+fffffffeffffff7cc4801fc1f007f27ffffffffffffffffefffffcf200007e0fffffa267
+803f3fc7c03ffffefffffdf00000f81f3fffa267001e1f83800ffffefffffbe00019f07b
+77fda267001e0603000ffffeffffffe000ffe1e937d9a267001e0003800ffffeffffff80
+7fff83e926d98027003f000f800ffffeffffff01ffff8fe9269880070fffc01fff8ffffe
+fffffc0fffef1ec8228800070fffc01fff8ffffefffffc1ffe1e3ee8028800070fff0007
+ff0ffffefffff41fc03c746000880007001e0003800ffffefffff01f8038726000080007
+001e0603000ffffefffff01f8070f200000003c7001e0403000ffffeffffa01f0fe3b007
+80003fff001f0007800f7ffeffff801e03c7b00fc0007fff0fff800fff0f7ffeffff803e
+018e900fe000ffff0fffc03fff0f3ffeffff803c071e001ff803ffff0fff800fff0f3ffe
+ffff00fc0e32007ffe1fffff003e0007c00f3ffeffff03fc027a007fffffffff001e0403
+800f1ffeffff0ff8047801ffffffffff001e1f03000f1ffeffff1ff81cd803ffffffffff
+001e1fc7000f0ffefffc7ff80dc807ffffffffff803fffff801e0ffefff8fff01bc01fff
+fffffffffffffffffffe0ffefff9fff033007ffffffffffffffffffffffe0ffefffffff0
+6707ffffffffffff00000000000f0ffeffffffe06f0fffffffffffff00000000000f07fe
+ffffffe1cd1fffffffffffff00000000000f07feffffffe0dc3fffffffffffff00000000
+000f07feffffffe09c3fffffffffffff0fffffffff0f07feffffffe1b83fffffffffffff
+0f1e0007870f03feffffffe3383fffffffffffff0f1c0003870f03feffffffe3783fffff
+ffffffff0f1c0003870f03feffffffe6683fffffffffffff0f1c0003870f03feffffffe6
+e03ffffffffffffe0f1c3fe3870f03feffffffe6e03fffffffffffff0f1c0003870f81fe
+ffffffed80fffffffffffffe0f1e0003870f01feffffffed80fffffffffffffe0f1e0003
+870f01fefff9ffedc1fffffffffffffe0f1fe0ff870f01feffe1ffeb83fffffffffffffe
+0f1fe0ff870f01feffc1ffff07fffffffffffffe0f000000070f81feff81ffff0fffffff
+fffffffe0f000000070f01feff01fffe3fffffffffffffff1f000000079e01fefe01fffe
+7fffffffffffffffff00000007bf81fefe01fffcffffffffffffffffffffe0ffffff00fe
+fe01ffffffffffffffffffffffffe0fffffe00fefe01ffffffffffffffffffffffffe0ff
+fff830fefe01fffffffffffffffffffffff870fc1e3f80fefe01ffffffffffffffffffff
+fff879ee0e1f00fefe01fffffffffffffffffffffff87fe7863c00fefe01ffffffffffff
+fffffffffff03fc3c63800fefe01fffffffffffffffffffffff01fc3e638f0fefe01ffff
+fffffffffffffffffff80661fe3fc0fefe01fffffffffffffffffffffffc0038fe3f00fe
+fe01fffffffffffffffffffffffe000c7e3c01fefe01fffffffffffffffffffffff3000c
+3e3001fefe01ffffffffffffffffffffffe182061c31e1fefe01ffffffffffffffffffff
+ffc041031c3f81fefe00ffffffffffffffffffffffc000438c3801fefe00ffffffffffff
+ffffffffff801061cc2001feff00ffffffffffffffffffffff800830f86001feff00ffff
+ffffffffffffffffff800830f86001feff00ffffffffffffffffffffff800418f87f03fe
+ff00ffffffffffffffffffffff00061c787c03feff80ffffffffffffffffffffff00030c
+386003feff80ffffffffffffffffffffff000186306003feff80ffffffffffffffffffff
+ff002186307f87feff807ffffffffffffffffffffe0000c3307c07feffc07fffffffffff
+fffffffffe0000e3e04007feffc07ffffffffffffffffffffc001873e0fc0ffeffe03fff
+fffffffffffffffff8000c39c1e00ffeffe03ffffffffffffffffffff0000c39c1800ffe
+ffe01ffffffffffffffffffff0000e1dc1f80ffefff01fffffffffffffffffffe000471d
+83fe0ffefff00fffffffffffffffffffc000471f83e00ffefff00fffffffffffffffffff
+c000630f07001ffefff806ffffffffffffffffff8000238f07f81ffefff8067fffffffff
+ffffffff0004238e07f83ffefffc033fffffffffffffffff000421c60e003ffefffc031f
+fffffffffffffffe008611c40f007ffefffe019ffffffffffffffffc004211ec1fc07ffe
+fffe00c7fffffffffffffff8004311fc1e007ffeffff00c3fffffffffffffff8006318fc
+3800fffeffff0061fffffffffffffff0006318f87f81fffeffff00207fffffffffffffe0
+00219cf87fc1fffeffff80201fffffffffffffe002319c70e003fffeffff80100fffffff
+ffffffe001319ce1e003fffeffffc01f87fffffffffffe600131cfc1fe07fffeffffe01f
+03fffffffffff8201119cf83ff87fffefffff00e03ffffffffffe0201118cf83000ffffe
+fffff807f1ffffffffff80321118ef03e01ffffefffff803e07ffffffffc0033111cfe06
+781ffffefffffc01c03ffe0fffe00033191cfc0c003ffffefffffe00fc0ff800fe000013
+189cf81f807ffffeffffff007c01e00000000013189ef03fe07ffffeffffff8039800400
+00000011189ee070007ffffeffffff801e00040000000011088fe0fc00fffffeffffffc0
+0e78080000000019088fc1fe01fffffeffffffe007f118000010103988cf03c101fffffe
+fffffff003c73088001011398cde07f007fffffefffffff001de71884211313b8cfc0e7c
+0ffffffeffffffec007e61084231333b8cf01e000ffffffefffffff3000fc711c623333b
+9f8073e03ffffffefffffff98003ce31c673333b9f00f0007ffffffefffffffe6001de71
+8e63333bfe01fc00fffffffeffffffff30007c738ee7233bf803e201fffffffeffffffff
+88001ef79ee6663fe00f7003fffffffeffffffffc40007ff1ce6677f001f1807fffffffe
+fffffffff30000ff3dce7ffc00f9c00ffffffffefffffffff8c0001ffdffffe000f8403f
+fffffffefffffffff8c0001ffdffffe000f8403ffffffffefffffffffc300003ffffff00
+03fc007ffffffffefffffffffe0c00001fff80000f8700fffffffffeffffffffff81c000
+00000001fe300ffffffffffeffffffffffe0f80000000007e3001ffffffffffeffffffff
+fff87f800000003f70003ffffffffffefffffffffffe27f0000003fe1800fffffffffffe
+ffffffffffff833ff003fff10003fffffffffffeffffffffffffe10fffffff38000fffff
+fffffffefffffffffffff801bffb2300007ffffffffffffeffffffffffffff0011313080
+01fffffffffffffeffffffffffffffc00118004007fffffffffffffefffffffffffffff0
+000800007ffffffffffffffeffffffffffffffffc0000003fffffffffffffffeffffffff
+fffffffffffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffe
+fffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffff
+fffffffefffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffff
+fffffffffffffffe
+%%EndData
+end
+%%PageTrailer
+%%Trailer
+%%BoundingBox: 226 313 398.455 493
+%%EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/images/u-ryukyu-Mark.eps	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,1 @@
+%!PS-Adobe-3.0 EPSF-3.0
%%Creator: Adobe Illustrator(TM) 6.0
%%For: (\216\251\227\247\225\252\216U\203V\203X\203e\203\200\214\244\213\206\216\272) ()
%%Title: (u-ryukyu_Mark2.eps)
%%CreationDate: (2/19/01) (2:50 PM)
%%BoundingBox: 1 4 195 200
%%HiResBoundingBox: 1.3735 4.3999 194.5 199.3999
%%DocumentProcessColors: Black
%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0
%%+ procset Adobe_ColorImage_AI6 1.1 0
%%+ procset Adobe_Illustrator_AI5 1.0 0
%AI5_FileFormat 3
%AI3_ColorUsage: Black&White
%AI3_IncludePlacedImages
%%CMYKCustomColor: 1 0 0.55 0 (Aqua)
%%+ 1 0.5 0 0 (Blue)
%%+ 0.5 0.4 0.3 0 (Blue Gray)
%%+ 0.8 0.05 0 0 (Blue Sky)
%%+ 0.5 0.85 1 0 (Brown)
%%+ 1 0.9 0.1 0 (Dark Blue)
%%+ 1 0.55 1 0 (Forest Green)
%%+ 0.05 0.2 0.95 0 (Gold)
%%+ 0.75 0.05 1 0 (Grass Green)
%%+ 0 0.45 1 0 (Orange)
%%+ 0.15 1 1 0 (Red)
%%+ 0.45 0.9 0 0 (Violet)
%%AI6_ColorSeparationSet: 1 1 (AI6 Default Color Separation Set) 
%%+ Options: 1 16 0 1 0 1 1 1 0 1 1 1 1 8.504 0 0 0 0 0 0 0 0 -1 -1
%%+ PPD: 1 21 0 0 60 45 2 2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 () 
%AI3_TemplateBox: 100 102 100 102
%AI3_TileBox: 0 0 538 781
%AI3_DocumentPreview: Header
%AI5_ArtSize: 612 792
%AI5_RulerUnits: 1
%AI5_ArtFlags: 1 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI5_OpenToView: -284 390 1 794 557 18 0 1 3 40 0 0
%AI5_OpenViewLayers: 7
%%PageOrigin:0 0
%%AI3_PaperRect:-28 811 567 -31
%%AI3_Margin:28 -30 -29 31
%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_level2_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
%%Version: 1.2 0
%%CreationDate: (04/10/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_level2_AI5 25 dict dup begin
	put
	/packedarray where not
	{
		userdict begin
		/packedarray
		{
			array astore readonly
		} bind def
		/setpacking /pop load def
		/currentpacking false def
	 end
		0
	} if
	pop
	userdict /defaultpacking currentpacking put true setpacking
	/initialize
	{
		Adobe_level2_AI5 begin
	} bind def
	/terminate
	{
		currentdict Adobe_level2_AI5 eq
		{
		 end
		} if
	} bind def
	mark
	/setcustomcolor where not
	{
		/findcmykcustomcolor
		{
			0
			6 packedarray
		} bind def
		/findrgbcustomcolor
		{
			1
			5 packedarray
		} bind def
		/setcustomcolor
		{
			exch 
			aload pop 
			0 eq
			{
				pop
				4
				{
					4 index mul
					4 1 roll
				} repeat
				5 -1 roll pop
				setcmykcolor
			}
			{
				pop
				3
				{
					1 exch sub
					3 index mul 
					1 exch sub
					3 1 roll
				} repeat
				4 -1 roll pop
				setrgbcolor
			} ifelse
		}
		def
	} if
	
	/gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
	userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
	userdict /level2?
	systemdict /languagelevel known dup
	{
		pop systemdict /languagelevel get 2 ge
	} if
	put
/level2ScreenFreq
{
 begin
		60
		HalftoneType 1 eq
		{
			pop Frequency
		} if
		HalftoneType 2 eq
		{
			pop GrayFrequency
		} if
		HalftoneType 5 eq
		{
			pop Default level2ScreenFreq
		} if
 end
} bind def
userdict /currentScreenFreq  
	level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put
level2? not
	{
		/setcmykcolor where not
		{
			/setcmykcolor
			{
				exch .11 mul add exch .59 mul add exch .3 mul add
				1 exch sub setgray
			} def
		} if
		/currentcmykcolor where not
		{
			/currentcmykcolor
			{
				0 0 0 1 currentgray sub
			} def
		} if
		/setoverprint where not
		{
			/setoverprint /pop load def
		} if
		/selectfont where not
		{
			/selectfont
			{
				exch findfont exch
				dup type /arraytype eq
				{
					makefont
				}
				{
					scalefont
				} ifelse
				setfont
			} bind def
		} if
		/cshow where not
		{
			/cshow
			{
				[
				0 0 5 -1 roll aload pop
				] cvx bind forall
			} bind def
		} if
	} if
	cleartomark
	/anyColor?
	{
		add add add 0 ne
	} bind def
	/testColor
	{
		gsave
		setcmykcolor currentcmykcolor
		grestore
	} bind def
	/testCMYKColorThrough
	{
		testColor anyColor?
	} bind def
	userdict /composite?
	level2?
	{
		gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
		add add add 4 eq
	}
	{
		1 0 0 0 testCMYKColorThrough
		0 1 0 0 testCMYKColorThrough
		0 0 1 0 testCMYKColorThrough
		0 0 0 1 testCMYKColorThrough
		and and and
	} ifelse
	put
	composite? not
	{
		userdict begin
		gsave
		/cyan? 1 0 0 0 testCMYKColorThrough def
		/magenta? 0 1 0 0 testCMYKColorThrough def
		/yellow? 0 0 1 0 testCMYKColorThrough def
		/black? 0 0 0 1 testCMYKColorThrough def
		grestore
		/isCMYKSep? cyan? magenta? yellow? black? or or or def
		/customColor? isCMYKSep? not def
	 end
	} if
 end defaultpacking setpacking
%%EndResource
%%BeginProcSet: Adobe_ColorImage_AI6 1.1 0
userdict /Adobe_ColorImage_AI6 known not
{
	userdict /Adobe_ColorImage_AI6 24 dict put 
} if
userdict /Adobe_ColorImage_AI6 get begin
/initialize
{ 
	Adobe_ColorImage_AI6 begin
	Adobe_ColorImage_AI6
	{
		dup type /arraytype eq
		{
			dup xcheck
			{
				bind
			} if
		} if
		pop pop
	} forall
} def
/terminate { end } def
currentdict /Adobe_ColorImage_AI6_Vars known not
{
	/Adobe_ColorImage_AI6_Vars 15 dict def
} if
Adobe_ColorImage_AI6_Vars begin
	/channelcount 0 def
	/sourcecount 0 def
	/sourcearray 4 array def
	/plateindex -1 def
	/XIMask 0 def
	/XIBinary 0 def
	/XIChannelCount 0 def
	/XIBitsPerPixel 0 def
	/XIImageHeight 0 def
	/XIImageWidth 0 def
	/XIImageMatrix null def
	/XIBuffer null def
	/XIDataProc null def
	/XIVersion 6 def
end
/WalkRGBString null def
/WalkCMYKString null def
/StuffRGBIntoGrayString null def
/RGBToGrayImageProc null def
/StuffCMYKIntoGrayString null def
/CMYKToGrayImageProc null def
/ColorImageCompositeEmulator null def
/SeparateCMYKImageProc null def
/FourEqual null def
/TestPlateIndex null def
currentdict /_colorimage known not
{
	/colorimage where
	{
		/colorimage get /_colorimage exch def
	}
	{
		/_colorimage null def
	} ifelse
} if
/_currenttransfer systemdict /currenttransfer get def
/colorimage null def
/XI null def
/WalkRGBString
{
	0 3 index
	dup length 1 sub 0 3 3 -1 roll
	{
		3 getinterval { } forall
		5 index exec
		3 index
	} for
	
	 5 { pop } repeat
} def
/WalkCMYKString
{
	0 3 index
	dup length 1 sub 0 4 3 -1 roll
	{
		4 getinterval { } forall
		
		6 index exec
		
		3 index
		
	} for
	
	5 { pop } repeat
	
} def
/StuffRGBIntoGrayString
{
	.11 mul exch
	
	.59 mul add exch
	
	.3 mul add
	
	cvi 3 copy put
	
	pop 1 add
} def
/RGBToGrayImageProc
{	
	Adobe_ColorImage_AI6_Vars begin 
		sourcearray 0 get exec
		dup length 3 idiv string
		dup 3 1 roll 
		
		/StuffRGBIntoGrayString load exch
		WalkRGBString
 end
} def
/StuffCMYKIntoGrayString
{
	exch .11 mul add
	
	exch .59 mul add
	
	exch .3 mul add
	
	dup 255 gt { pop 255 } if
	
	255 exch sub cvi 3 copy put
	
	pop 1 add
} def
/CMYKToGrayImageProc
{	
	Adobe_ColorImage_AI6_Vars begin
		sourcearray 0 get exec
		dup length 4 idiv string
		dup 3 1 roll 
		
		/StuffCMYKIntoGrayString load exch
		WalkCMYKString
 end
} def
/ColorImageCompositeEmulator
{
	pop true eq
	{
		Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat
	}
	{
		Adobe_ColorImage_AI6_Vars /channelcount get 1 ne
		{
			Adobe_ColorImage_AI6_Vars begin
				sourcearray 0 3 -1 roll put
			
				channelcount 3 eq 
				{ 
					/RGBToGrayImageProc 
				}
				{ 
					/CMYKToGrayImageProc
				} ifelse
				load
		 end
		} if
		image
	} ifelse
} def
/SeparateCMYKImageProc
{	
	Adobe_ColorImage_AI6_Vars begin
		sourcecount 0 ne
		{
			sourcearray plateindex get exec
		}
		{			
			sourcearray 0 get exec
			
			dup length 4 idiv string
			
			0 2 index
			
			plateindex 4 2 index length 1 sub
			{
				get 255 exch sub
				
				3 copy put pop 1 add
				
				2 index
			} for
			pop pop exch pop
		} ifelse
 end
} def
	
/FourEqual
{
	4 index ne
	{
		pop pop pop false
	}
	{
		4 index ne
		{
			pop pop false
		}
		{
			4 index ne
			{
				pop false
			}
			{
				4 index eq
			} ifelse
		} ifelse
	} ifelse
} def
/TestPlateIndex
{
	Adobe_ColorImage_AI6_Vars begin
		/plateindex -1 def
		/setcmykcolor where
		{
			pop
			gsave
			1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
			0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
			0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
			0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
			grestore
			1 0 0 0 FourEqual 
			{ 
				/plateindex 0 def
			}
			{
				0 1 0 0 FourEqual
				{ 
					/plateindex 1 def
				}
				{
					0 0 1 0 FourEqual
					{
						/plateindex 2 def
					}
					{
						0 0 0 1 FourEqual
						{ 
							/plateindex 3 def
						}
						{
							0 0 0 0 FourEqual
							{
								/plateindex 5 def
							} if
						} ifelse
					} ifelse
				} ifelse
			} ifelse
			pop pop pop pop
		} if
		plateindex
 end
} def
/colorimage
{
	Adobe_ColorImage_AI6_Vars begin
		/channelcount 1 index def
		/sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def
		4 sourcecount add index dup 
		8 eq exch 1 eq or not
 end
	
	{
		/_colorimage load null ne
		{
			_colorimage
		}
		{
			Adobe_ColorImage_AI6_Vars /sourcecount get
			7 add { pop } repeat
		} ifelse
	}
	{
		dup 3 eq
		TestPlateIndex
		dup -1 eq exch 5 eq or or
		{
			/_colorimage load null eq
			{
				ColorImageCompositeEmulator
			}
			{
				dup 1 eq
				{
					pop pop image
				}
				{
					Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
					{
						gsave
						
						0 _currenttransfer exec
						1 _currenttransfer exec
						eq
						{ 0 _currenttransfer exec 0.5 lt }
						{ 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse
						
						{ { pop 0 } } { { pop 1 } } ifelse
						systemdict /settransfer get exec
					} if
					
					_colorimage
					
					Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
					{
						grestore
					} if
				} ifelse
			} ifelse
		}
		{
			dup 1 eq
			{
				pop pop
				image
			}
			{
				pop pop
				Adobe_ColorImage_AI6_Vars begin
					sourcecount -1 0
					{			
						exch sourcearray 3 1 roll put
					} for
					/SeparateCMYKImageProc load
			 end
				systemdict /image get exec
			} ifelse
		} ifelse
	} ifelse
} def
/XG
{
	pop pop
} def
/XF
{
	13 {pop} repeat
} def
/Xh
{
	Adobe_ColorImage_AI6_Vars begin
		gsave
		/XIMask exch 0 ne def
		/XIImageHeight exch def
		/XIImageWidth exch def
		/XIImageMatrix exch def
		0 0 moveto
		XIImageMatrix concat
		XIImageWidth XIImageHeight scale
		
		XIMask
		{
			/_lp /null ddef
			_fc
			/_lp /imagemask ddef
		}
		if
		/XIVersion 7 def
 end
} def
/XH
{
	Adobe_ColorImage_AI6_Vars begin
		/XIVersion 6 def
		grestore
 end
} def
/XI
{
	Adobe_ColorImage_AI6_Vars begin
		gsave
		/XIMask exch 0 ne def
		/XIBinary exch 0 ne def
		pop
		pop
		/XIChannelCount exch def
		/XIBitsPerPixel exch def
		/XIImageHeight exch def
		/XIImageWidth exch def
		pop pop pop pop
		/XIImageMatrix exch def
		XIBitsPerPixel 1 eq
		{
			XIImageWidth 8 div ceiling cvi
		}
		{
			XIImageWidth XIChannelCount mul
		} ifelse
		/XIBuffer exch string def
		XIBinary
		{
			/XIDataProc { currentfile XIBuffer readstring pop } def
			XIVersion 6 le
			{
				currentfile 128 string readline pop pop
			}
			if
		}
		{
			/XIDataProc { currentfile XIBuffer readhexstring pop } def
		} ifelse
		
		XIVersion 6 le
		{
			0 0 moveto
			XIImageMatrix concat
			XIImageWidth XIImageHeight scale
			XIMask
			{
				/_lp /null ddef
				_fc
				/_lp /imagemask ddef
			} if
		} if
		
		XIMask
		{
			XIImageWidth XIImageHeight
			false
			[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
			/XIDataProc load
			imagemask
		}
		{
			XIImageWidth XIImageHeight
			XIBitsPerPixel
			[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
			/XIDataProc load
			
			XIChannelCount 1 eq
			{
				gsave
				0 setgray
				image
				grestore
			}
			{
				false
				XIChannelCount
				colorimage
			} ifelse
		} ifelse
		grestore
 end
} def
end
%%EndProcSet
%%BeginResource: procset Adobe_Illustrator_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
%%Version: 1.1 0
%%CreationDate: (3/7/1994) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5_vars 81 dict dup begin
put
/_eo false def
/_lp /none def
/_pf
{
} def
/_ps
{
} def
/_psf
{
} def
/_pss
{
} def
/_pjsf
{
} def
/_pjss
{
} def
/_pola 0 def
/_doClip 0 def
/cf currentflat def
/_tm matrix def
/_renderStart
[
/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
] def
/_renderEnd
[
null null null null /i1 /i1 /i1 /i1
] def
/_render -1 def
/_rise 0 def
/_ax 0 def
/_ay 0 def
/_cx 0 def
/_cy 0 def
/_leading
[
0 0
] def
/_ctm matrix def
/_mtx matrix def
/_sp 16#020 def
/_hyphen (-) def
/_fScl 0 def
/_cnt 0 def
/_hs 1 def
/_nativeEncoding 0 def
/_useNativeEncoding 0 def
/_tempEncode 0 def
/_pntr 0 def
/_tDict 2 dict def
/_wv 0 def
/Tx
{
} def
/Tj
{
} def
/CRender
{
} def
/_AI3_savepage
{
} def
/_gf null def
/_cf 4 array def
/_if null def
/_of false def
/_fc
{
} def
/_gs null def
/_cs 4 array def
/_is null def
/_os false def
/_sc
{
} def
/_pd 1 dict def
/_ed 15 dict def
/_pm matrix def
/_fm null def
/_fd null def
/_fdd null def
/_sm null def
/_sd null def
/_sdd null def
/_i null def
/discardSave null def
/buffer 256 string def
/beginString null def
/endString null def
/endStringLength null def
/layerCnt 1 def
/layerCount 1 def
/perCent (%) 0 get def
/perCentSeen? false def
/newBuff null def
/newBuffButFirst null def
/newBuffLast null def
/clipForward? false def
end
userdict /Adobe_Illustrator_AI5 known not {
	userdict /Adobe_Illustrator_AI5 91 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/initialize
{
	Adobe_Illustrator_AI5 dup begin
	Adobe_Illustrator_AI5_vars begin
	discardDict
	{
		bind pop pop
	} forall
	dup /nc get begin
	{
		dup xcheck 1 index type /operatortype ne and
		{
			bind
		} if
		pop pop
	} forall
 end
	newpath
} def
/terminate
{
 end
 end
} def
/_
null def
/ddef
{
	Adobe_Illustrator_AI5_vars 3 1 roll put
} def
/xput
{
	dup load dup length exch maxlength eq
	{
		dup dup load dup
		length 2 mul dict copy def
	} if
	load begin
	def
 end
} def
/npop
{
	{
		pop
	} repeat
} def
/sw
{
	dup length exch stringwidth
	exch 5 -1 roll 3 index mul add
	4 1 roll 3 1 roll mul add
} def
/swj
{
	dup 4 1 roll
	dup length exch stringwidth
	exch 5 -1 roll 3 index mul add
	4 1 roll 3 1 roll mul add
	6 2 roll /_cnt 0 ddef
	{
		1 index eq
		{
			/_cnt _cnt 1 add ddef
		} if
	} forall
	pop
	exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
} def
/ss
{
	4 1 roll
	{
		2 npop
		(0) exch 2 copy 0 exch put pop
		gsave
		false charpath currentpoint
		4 index setmatrix
		stroke
		grestore
		moveto
		2 copy rmoveto
	} exch cshow
	3 npop
} def
/jss
{
	4 1 roll
	{
		2 npop
		(0) exch 2 copy 0 exch put
		gsave
		_sp eq
		{
			exch 6 index 6 index 6 index 5 -1 roll widthshow
			currentpoint
		}
		{
			false charpath currentpoint
			4 index setmatrix stroke
		} ifelse
		grestore
		moveto
		2 copy rmoveto
	} exch cshow
	6 npop
} def
/sp
{
	{
		2 npop (0) exch
		2 copy 0 exch put pop
		false charpath
		2 copy rmoveto
	} exch cshow
	2 npop
} def
/jsp
{
	{
		2 npop
		(0) exch 2 copy 0 exch put
		_sp eq
		{
			exch 5 index 5 index 5 index 5 -1 roll widthshow
		}
		{
			false charpath
		} ifelse
		2 copy rmoveto
	} exch cshow
	5 npop
} def
/pl
{
	transform
	0.25 sub round 0.25 add exch
	0.25 sub round 0.25 add exch
	itransform
} def
/setstrokeadjust where
{
	pop true setstrokeadjust
	/c
	{
		curveto
	} def
	/C
	/c load def
	/v
	{
		currentpoint 6 2 roll curveto
	} def
	/V
	/v load def
	/y
	{
		2 copy curveto
	} def
	/Y
	/y load def
	/l
	{
		lineto
	} def
	/L
	/l load def
	/m
	{
		moveto
	} def
}
{
	/c
	{
		pl curveto
	} def
	/C
	/c load def
	/v
	{
		currentpoint 6 2 roll pl curveto
	} def
	/V
	/v load def
	/y
	{
		pl 2 copy curveto
	} def
	/Y
	/y load def
	/l
	{
		pl lineto
	} def
	/L
	/l load def
	/m
	{
		pl moveto
	} def
} ifelse
/d
{
	setdash
} def
/cf
{
} def
/i
{
	dup 0 eq
	{
		pop cf
	} if
	setflat
} def
/j
{
	setlinejoin
} def
/J
{
	setlinecap
} def
/M
{
	setmiterlimit
} def
/w
{
	setlinewidth
} def
/XR
{
	0 ne
	/_eo exch ddef
} def
/H
{
} def
/h
{
	closepath
} def
/N
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			_eo {eoclip} {clip} ifelse /_doClip 0 ddef
		} if
		newpath
	}
	{
		/CRender
		{
			N
		} ddef
	} ifelse
} def
/n
{
	N
} def
/F
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc
			/_doClip 0 ddef
		}
		{
			_pf
		} ifelse
	}
	{
		/CRender
		{
			F
		} ddef
	} ifelse
} def
/f
{
	closepath
	F
} def
/S
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
			/_doClip 0 ddef
		}
		{
			_ps
		} ifelse
	}
	{
		/CRender
		{
			S
		} ddef
	} ifelse
} def
/s
{
	closepath
	S
} def
/B
{
	_pola 0 eq
	{
		_doClip 1 eq
		gsave F grestore
		{
			gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
			/_doClip 0 ddef
		}
		{
			S
		} ifelse
	}
	{
		/CRender
		{
			B
		} ddef
	} ifelse
} def
/b
{
	closepath
	B
} def
/W
{
	/_doClip 1 ddef
} def
/*
{
	count 0 ne
	{
		dup type /stringtype eq
		{
			pop
		} if
	} if
	newpath
} def
/u
{
} def
/U
{
} def
/q
{
	_pola 0 eq
	{
		gsave
	} if
} def
/Q
{
	_pola 0 eq
	{
		grestore
	} if
} def
/*u
{
	_pola 1 add /_pola exch ddef
} def
/*U
{
	_pola 1 sub /_pola exch ddef
	_pola 0 eq
	{
		CRender
	} if
} def
/D
{
	pop
} def
/*w
{
} def
/*W
{
} def
/`
{
	/_i save ddef
	clipForward?
	{
		nulldevice
	} if
	6 1 roll 4 npop
	concat pop
	userdict begin
	/showpage
	{
	} def
	0 setgray
	0 setlinecap
	1 setlinewidth
	0 setlinejoin
	10 setmiterlimit
	[] 0 setdash
	/setstrokeadjust where {pop false setstrokeadjust} if
	newpath
	0 setgray
	false setoverprint
} def
/~
{
 end
	_i restore
} def
/O
{
	0 ne
	/_of exch ddef
	/_lp /none ddef
} def
/R
{
	0 ne
	/_os exch ddef
	/_lp /none ddef
} def
/g
{
	/_gf exch ddef
	/_fc
	{
		_lp /fill ne
		{
			_of setoverprint
			_gf setgray
			/_lp /fill ddef
		} if
	} ddef
	/_pf
	{
		_fc
		_eo {eofill} {fill} ifelse
	} ddef
	/_psf
	{
		_fc
		ashow
	} ddef
	/_pjsf
	{
		_fc
		awidthshow
	} ddef
	/_lp /none ddef
} def
/G
{
	/_gs exch ddef
	/_sc
	{
		_lp /stroke ne
		{
			_os setoverprint
			_gs setgray
			/_lp /stroke ddef
		} if
	} ddef
	/_ps
	{
		_sc
		stroke
	} ddef
	/_pss
	{
		_sc
		ss
	} ddef
	/_pjss
	{
		_sc
		jss
	} ddef
	/_lp /none ddef
} def
/k
{
	_cf astore pop
	/_fc
	{
		_lp /fill ne
		{
			_of setoverprint
			_cf aload pop setcmykcolor
			/_lp /fill ddef
		} if
	} ddef
	/_pf
	{
		_fc
		_eo {eofill} {fill} ifelse
	} ddef
	/_psf
	{
		_fc
		ashow
	} ddef
	/_pjsf
	{
		_fc
		awidthshow
	} ddef
	/_lp /none ddef
} def
/K
{
	_cs astore pop
	/_sc
	{
		_lp /stroke ne
		{
			_os setoverprint
			_cs aload pop setcmykcolor
			/_lp /stroke ddef
		} if
	} ddef
	/_ps
	{
		_sc
		stroke
	} ddef
	/_pss
	{
		_sc
		ss
	} ddef
	/_pjss
	{
		_sc
		jss
	} ddef
	/_lp /none ddef
} def
/x
{
	/_gf exch ddef
	findcmykcustomcolor
	/_if exch ddef
	/_fc
	{
		_lp /fill ne
		{
			_of setoverprint
			_if _gf 1 exch sub setcustomcolor
			/_lp /fill ddef
		} if
	} ddef
	/_pf
	{
		_fc
		_eo {eofill} {fill} ifelse
	} ddef
	/_psf
	{
		_fc
		ashow
	} ddef
	/_pjsf
	{
		_fc
		awidthshow
	} ddef
	/_lp /none ddef
} def
/X
{
	/_gs exch ddef
	findcmykcustomcolor
	/_is exch ddef
	/_sc
	{
		_lp /stroke ne
		{
			_os setoverprint
			_is _gs 1 exch sub setcustomcolor
			/_lp /stroke ddef
		} if
	} ddef
	/_ps
	{
		_sc
		stroke
	} ddef
	/_pss
	{
		_sc
		ss
	} ddef
	/_pjss
	{
		_sc
		jss
	} ddef
	/_lp /none ddef
} def
/A
{
	pop
} def
/annotatepage
{
userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
} def
/XT {
	pop pop
} def
/discard
{
	save /discardSave exch store
	discardDict begin
	/endString exch store
	gt38?
	{
		2 add
	} if
	load
	stopped
	pop
 end
	discardSave restore
} bind def
userdict /discardDict 7 dict dup begin
put
/pre38Initialize
{
	/endStringLength endString length store
	/newBuff buffer 0 endStringLength getinterval store
	/newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
	/newBuffLast newBuff endStringLength 1 sub 1 getinterval store
} def
/shiftBuffer
{
	newBuff 0 newBuffButFirst putinterval
	newBuffLast 0
	currentfile read not
	{
	stop
	} if
	put
} def
0
{
	pre38Initialize
	mark
	currentfile newBuff readstring exch pop
	{
		{
			newBuff endString eq
			{
				cleartomark stop
			} if
			shiftBuffer
		} loop
	}
	{
	stop
	} ifelse
} def
1
{
	pre38Initialize
	/beginString exch store
	mark
	currentfile newBuff readstring exch pop
	{
		{
			newBuff beginString eq
			{
				/layerCount dup load 1 add store
			}
			{
				newBuff endString eq
				{
					/layerCount dup load 1 sub store
					layerCount 0 eq
					{
						cleartomark stop
					} if
				} if
			} ifelse
			shiftBuffer
		} loop
	} if
} def
2
{
	mark
	{
		currentfile buffer readline not
		{
		stop
		} if
		endString eq
		{
			cleartomark stop
		} if
	} loop
} def
3
{
	/beginString exch store
	/layerCnt 1 store
	mark
	{
		currentfile buffer readline not
		{
		stop
		} if
		dup beginString eq
		{
			pop /layerCnt dup load 1 add store
		}
		{
			endString eq
			{
				layerCnt 1 eq
				{
					cleartomark stop
				}
				{
					/layerCnt dup load 1 sub store
				} ifelse
			} if
		} ifelse
	} loop
} def
end
userdict /clipRenderOff 15 dict dup begin
put
{
	/n /N /s /S /f /F /b /B
}
{
	{
		_doClip 1 eq
		{
			/_doClip 0 ddef _eo {eoclip} {clip} ifelse
		} if
		newpath
	} def
} forall
/Tr /pop load def
/Bb {} def
/BB /pop load def
/Bg {12 npop} def
/Bm {6 npop} def
/Bc /Bm load def
/Bh {4 npop} def
end
/Lb
{
	4 npop
	6 1 roll
	pop
	4 1 roll
	pop pop pop
	0 eq
	{
		0 eq
		{
			(%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
		}
		{
			
			/clipForward? true def
			
			/Tx /pop load def
			/Tj /pop load def
			
			currentdict end clipRenderOff begin begin
		} ifelse
	}
	{
		0 eq
		{
			save /discardSave exch store
		} if
	} ifelse
} bind def
/LB
{
	discardSave dup null ne
	{
		restore
	}
	{
		pop
		clipForward?
		{
			currentdict
		 end
		 end
		 begin
					
			/clipForward? false ddef
		} if
	} ifelse
} bind def
/Pb
{
	pop pop
	0 (%AI5_EndPalette) discard
} bind def
/Np
{
	0 (%AI5_End_NonPrinting--) discard
} bind def
/Ln /pop load def
/Ap
/pop load def
/Ar
{
	72 exch div
	0 dtransform dup mul exch dup mul add sqrt
	dup 1 lt
	{
		pop 1
	} if
	setflat
} def
/Mb
{
	q
} def
/Md
{
} def
/MB
{
	Q
} def
/nc 3 dict def
nc begin
/setgray
{
	pop
} bind def
/setcmykcolor
{
	4 npop
} bind def
/setcustomcolor
{
	2 npop
} bind def
currentdict readonly pop
end
end
setpacking
%%EndResource
%%EndProlog
%%BeginSetup
Adobe_level2_AI5 /initialize get exec
Adobe_ColorImage_AI6 /initialize get exec
Adobe_Illustrator_AI5 /initialize get exec
%AI5_Begin_NonPrinting
Np
%AI3_BeginPattern: (Arrow1.2.out/in)
(Arrow1.2.out/in) 1 1 39.4039 39.4039 [
%AI3_Tile
(0 O 0 R  0.75 0.75 0.375 0 k
 0.75 0.75 0.375 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
1 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
33.9039 15.6187 m
39.4247 20.202 L
39.4247 20.202 L
33.8869 24.6252 L
S
39.2997 20.202 m
24.5706 20.202 l
20.4039 20.4792 20.4039 16.8125 v
20.4039 13.1458 20.4039 12.5625 y
S
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Arrow1.2.side)
(Arrow1.2.side) 1 1 39.404 39.4039 [
%AI3_Tile
(0 O 0 R  0.75 0.75 0.375 0 k
 0.75 0.75 0.375 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
1 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
20.202 20.202 m
39.404 20.202 l
S
33.904 15.6187 m
39.4248 20.202 L
39.4248 20.202 L
33.887 24.6252 L
S
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Bricks)
(Bricks) 1.6 1.6 73.6 73.6 [
%AI3_Tile
(0 O 0 R  0.3 0.85 0.85 0 k
 0.3 0.85 0.85 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
1.6 1.6 m
1.6 73.6 L
73.6 73.6 L
73.6 1.6 L
1.6 1.6 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  1 g
 1 G
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
1.6 70.01 m
73.6 70.01 l
S
1.6 62.809 m
73.6 62.809 L
S
1.6 55.609 m
73.6 55.609 L
S
1.6 48.408 m
73.6 48.408 L
S
1.6 41.208 m
73.6 41.208 L
S
1.6 34.007 m
73.6 34.007 L
S
1.6 26.807 m
73.6 26.807 L
S
1.6 19.606 m
73.6 19.606 L
S
1.6 12.406 m
73.6 12.406 L
S
1.6 5.206 m
73.6 5.206 L
S
70.01 70.01 m
70.01 62.822 l
S
55.61 70.01 m
55.61 62.822 L
S
41.21 70.01 m
41.21 62.822 L
S
26.81 70.01 m
26.81 62.822 L
S
12.41 70.01 m
12.41 62.822 L
S
70.01 55.572 m
70.01 48.385 l
S
55.61 55.572 m
55.61 48.385 L
S
41.21 55.572 m
41.21 48.385 L
S
26.81 55.572 m
26.81 48.385 L
S
12.41 55.572 m
12.41 48.385 L
S
70.01 41.197 m
70.01 34.01 l
S
55.61 41.197 m
55.61 34.01 L
S
41.21 41.197 m
41.21 34.01 L
S
26.81 41.197 m
26.81 34.01 L
S
12.41 41.197 m
12.41 34.01 L
S
70.01 26.822 m
70.01 19.635 l
S
55.61 26.822 m
55.61 19.635 L
S
41.21 26.822 m
41.21 19.635 L
S
26.81 26.822 m
26.81 19.635 L
S
12.41 26.822 m
12.41 19.635 L
S
70.01 12.385 m
70.01 5.197 l
S
55.61 12.385 m
55.61 5.197 L
S
41.21 12.385 m
41.21 5.197 L
S
26.81 12.385 m
26.81 5.197 L
S
12.41 12.385 m
12.41 5.197 L
S
62.797 5.197 m
62.797 1.6 L
S
48.397 5.197 m
48.397 1.6 L
S
33.997 5.197 m
33.997 1.6 L
S
19.597 5.197 m
19.597 1.6 L
S
5.197 5.197 m
5.197 1.6 l
S
62.797 19.635 m
62.797 12.447 L
S
48.397 19.635 m
48.397 12.447 L
S
33.997 19.635 m
33.997 12.447 L
S
19.597 19.635 m
19.597 12.447 L
S
5.197 19.635 m
5.197 12.447 l
S
62.797 34.01 m
62.797 26.822 L
S
48.397 34.01 m
48.397 26.822 L
S
19.597 34.01 m
19.597 26.822 L
S
5.197 34.01 m
5.197 26.822 l
S
62.797 48.385 m
62.797 41.197 L
S
48.397 48.385 m
48.397 41.197 L
S
33.997 48.385 m
33.997 41.197 L
S
19.597 48.385 m
19.597 41.197 L
S
5.197 48.385 m
5.197 41.197 l
S
62.797 62.822 m
62.797 55.635 L
S
48.397 62.822 m
48.397 55.635 L
S
33.997 62.822 m
33.997 55.635 L
S
19.597 62.822 m
19.597 55.635 L
S
5.197 62.822 m
5.197 55.635 l
S
62.797 73.5589 m
62.797 70.072 L
S
48.397 73.5589 m
48.397 70.072 L
S
33.997 73.5589 m
33.997 70.072 L
S
19.597 73.5589 m
19.597 70.072 L
S
5.197 73.5589 m
5.197 70.072 l
S
33.997 34.01 m
33.997 26.822 L
S
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Checks)
(Checks) 1 1 31.3995 31.3995 [
%AI3_Tile
(0 O 0 R  0 0.9 1 0 k
 0 0.9 1 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
1 XR
19.9995 4.8 m
27.5995 4.8 L
27.5995 12.3995 L
19.9995 12.3995 L
19.9995 4.8 L
f
31.3995 27.5995 m
31.3995 31.3995 L
27.5995 31.3995 L
27.5995 27.5995 L
31.3995 27.5995 L
f
19.9995 27.5995 m
19.9995 19.9995 L
27.5995 19.9995 L
27.5995 27.5995 L
19.9995 27.5995 L
f
0 XR
12.3995 12.3995 m
19.9995 12.3995 L
19.9995 19.9995 L
12.3995 19.9995 L
12.3995 12.3995 L
f
1 XR
12.3995 27.5995 m
4.8 27.5995 L
4.8 19.9995 L
12.3995 19.9995 L
12.3995 27.5995 L
f
4.8 12.3995 m
4.8 4.8 L
12.3995 4.8 L
12.3995 12.3995 L
4.8 12.3995 L
f
19.9995 27.5995 m
19.9995 31.3995 L
12.3995 31.3995 L
12.3995 27.5995 L
19.9995 27.5995 L
f
12.3995 4.8 m
12.3995 1 L
19.9995 1 L
19.9995 4.8 L
12.3995 4.8 L
f
4.8 19.9995 m
1 19.9995 L
1 12.3995 L
4.8 12.3995 L
4.8 19.9995 L
f
27.5995 19.9995 m
27.5995 12.3995 L
31.3995 12.3995 L
31.3995 19.9995 L
27.5995 19.9995 L
f
4.8 31.3995 m
1 31.3995 L
1 27.5995 L
4.8 27.5995 L
4.8 31.3995 L
f
27.5995 1 m
31.3995 1 L
31.3995 4.8 L
27.5995 4.8 L
27.5995 1 L
f
1 4.8 m
1 1 L
4.8 1 L
4.8 4.8 L
1 4.8 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0.05 0.2 0 k
 0 0.05 0.2 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
1 XR
4.8 4.8 m
4.8 1 L
12.3995 1 L
12.3995 4.8 L
4.8 4.8 L
f
4.8 12.3995 m
1 12.3995 L
1 4.8 L
4.8 4.8 L
4.8 12.3995 L
f
19.9995 4.8 m
19.9995 1 L
27.5995 1 L
27.5995 4.8 L
19.9995 4.8 L
f
12.3995 12.3995 m
12.3995 4.8 L
19.9995 4.8 L
19.9995 12.3995 L
12.3995 12.3995 L
f
27.5995 4.8 m
31.3995 4.8 L
31.3995 12.3995 L
27.5995 12.3995 L
27.5995 4.8 L
f
12.3995 19.9995 m
4.8 19.9995 L
4.8 12.3995 L
12.3995 12.3995 L
12.3995 19.9995 L
f
4.8 27.5995 m
1 27.5995 L
1 19.9995 L
4.8 19.9995 L
4.8 27.5995 L
f
19.9995 12.3995 m
27.5995 12.3995 L
27.5995 19.9995 L
19.9995 19.9995 L
19.9995 12.3995 L
f
19.9995 19.9995 m
19.9995 27.5995 L
12.3995 27.5995 L
12.3995 19.9995 L
19.9995 19.9995 L
f
27.5995 19.9995 m
31.3995 19.9995 L
31.3995 27.5995 L
27.5995 27.5995 L
27.5995 19.9995 L
f
12.3995 27.5995 m
12.3995 31.3995 L
4.8 31.3995 L
4.8 27.5995 L
12.3995 27.5995 L
f
27.5995 27.5995 m
27.5995 31.3995 L
19.9995 31.3995 L
19.9995 27.5995 L
27.5995 27.5995 L
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Confetti)
(Confetti) 4.85 3.617 76.85 75.617 [
%AI3_Tile
(0 O 0 R  1 g
 1 G
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
4.85 3.617 m
4.85 75.617 L
76.85 75.617 L
76.85 3.617 L
4.85 3.617 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 g
 0 G
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
10.6 64.867 m
7.85 62.867 l
S
9.1 8.617 m
6.85 6.867 l
S
78.1 68.617 m
74.85 67.867 l
S
76.85 56.867 m
74.35 55.117 l
S
79.6 51.617 m
76.6 51.617 l
S
76.35 44.117 m
73.6 45.867 l
S
78.6 35.867 m
76.6 34.367 l
S
76.1 23.867 m
73.35 26.117 l
S
78.1 12.867 m
73.85 13.617 l
S
68.35 14.617 m
66.1 12.867 l
S
76.6 30.617 m
73.6 30.617 l
S
62.85 58.117 m
60.956 60.941 l
S
32.85 59.617 m
31.196 62.181 l
S
47.891 64.061 m
49.744 66.742 l
S
72.814 2.769 m
73.928 5.729 l
S
67.976 2.633 m
67.35 5.909 l
S
61.85 27.617 m
59.956 30.441 l
S
53.504 56.053 m
51.85 58.617 l
S
52.762 1.779 m
52.876 4.776 l
S
45.391 5.311 m
47.244 7.992 l
S
37.062 3.375 m
35.639 5.43 l
S
55.165 34.828 m
57.518 37.491 l
S
20.795 3.242 m
22.12 5.193 l
S
14.097 4.747 m
15.008 8.965 l
S
9.736 1.91 m
8.073 4.225 l
S
31.891 5.573 m
32.005 8.571 l
S
12.1 70.367 m
15.6 68.867 l
S
9.35 54.867 m
9.6 58.117 l
S
12.85 31.867 m
14.35 28.117 l
S
10.1 37.367 m
12.35 41.117 l
S
34.1 71.117 m
31.85 68.617 l
S
38.35 71.117 m
41.6 68.367 l
S
55.1 71.117 m
58.35 69.117 l
S
57.35 65.117 m
55.35 61.867 l
S
64.35 66.367 m
69.35 68.617 l
S
71.85 62.867 m
69.35 61.117 l
S
23.6 70.867 m
23.6 67.867 l
S
20.6 65.867 m
17.35 65.367 l
S
24.85 61.367 m
25.35 58.117 l
S
25.85 65.867 m
29.35 66.617 l
S
14.1 54.117 m
16.85 56.117 l
S
12.35 11.617 m
12.6 15.617 l
S
12.1 19.867 m
14.35 22.367 l
S
26.1 9.867 m
23.6 13.367 l
S
34.6 47.117 m
32.1 45.367 l
S
62.6 41.867 m
59.85 43.367 l
S
31.6 35.617 m
27.85 36.367 l
S
36.35 26.117 m
34.35 24.617 l
S
33.85 14.117 m
31.1 16.367 l
S
37.1 9.867 m
35.1 11.117 l
S
34.35 20.867 m
31.35 20.867 l
S
44.6 56.617 m
42.1 54.867 l
S
47.35 51.367 m
44.35 51.367 l
S
44.1 43.867 m
41.35 45.617 l
S
43.35 33.117 m
42.6 30.617 l
S
43.85 23.617 m
41.1 25.867 l
S
44.35 15.617 m
42.35 16.867 l
S
67.823 31.1 m
64.823 31.1 l
S
27.1 32.617 m
29.6 30.867 l
S
31.85 55.117 m
34.85 55.117 l
S
19.6 40.867 m
22.1 39.117 l
S
16.85 35.617 m
19.85 35.617 l
S
20.1 28.117 m
22.85 29.867 l
S
52.1 42.617 m
54.484 44.178 l
S
52.437 50.146 m
54.821 48.325 l
S
59.572 54.133 m
59.35 51.117 l
S
50.185 10.055 m
53.234 9.928 l
S
51.187 15.896 m
53.571 14.075 l
S
58.322 19.883 m
59.445 16.823 l
S
53.1 32.117 m
50.6 30.367 l
S
52.85 24.617 m
49.6 25.617 l
S
61.85 9.117 m
59.1 10.867 l
S
69.35 34.617 m
66.6 36.367 l
S
67.1 23.617 m
65.1 22.117 l
S
24.435 46.055 m
27.484 45.928 l
S
25.437 51.896 m
27.821 50.075 l
S
62.6 47.117 m
65.321 46.575 l
S
19.85 19.867 m
20.35 16.617 l
S
21.85 21.867 m
25.35 22.617 l
S
37.6 62.867 m
41.6 62.117 l
S
38.323 42.1 m
38.823 38.6 l
S
69.35 52.617 m
66.85 53.867 l
S
14.85 62.117 m
18.1 59.367 l
S
9.6 46.117 m
7.1 44.367 l
S
20.6 51.617 m
18.6 50.117 l
S
46.141 70.811 m
47.994 73.492 l
S
69.391 40.561 m
71.244 43.242 l
S
38.641 49.311 m
39.35 52.117 l
S
25.141 16.811 m
25.85 19.617 l
S
36.6 32.867 m
34.6 31.367 l
S
6.1 68.617 m
2.85 67.867 l
S
4.85 56.867 m
2.35 55.117 l
S
7.6 51.617 m
4.6 51.617 l
S
6.6 35.867 m
4.6 34.367 l
S
6.1 12.867 m
1.85 13.617 l
S
4.6 30.617 m
1.6 30.617 l
S
72.814 74.769 m
73.928 77.729 l
S
67.976 74.633 m
67.35 77.909 l
S
52.762 73.779 m
52.876 76.776 l
S
37.062 75.375 m
35.639 77.43 l
S
20.795 75.242 m
22.12 77.193 l
S
9.736 73.91 m
8.073 76.225 l
S
10.1 23.617 m
6.35 24.367 l
S
73.217 18.276 m
71.323 21.1 l
S
28.823 39.6 m
29.505 42.389 l
S
49.6 38.617 m
47.6 37.117 l
S
60.323 73.6 m
62.323 76.6 l
S
60.323 1.6 m
62.323 4.6 l
S
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (DblLine1.2.inner)
(DblLine1.2.inner) 1 1 39.2705 39.2706 [
%AI3_Tile
(0 O 0 R  1 0.14 0.09 0 k
 1 0.14 0.09 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
39.2702 22.175 m
39.2702 13.6108 L
26.66 13.6108 L
26.66 1.0003 L
18.0958 1.0003 L
18.0948 22.175 L
18.0958 22.175 L
18.0958 22.1752 L
39.2702 22.175 L
f
39.2708 24.6929 m
15.5779 24.6929 L
15.5779 1.0003 L
14.9037 1.0003 L
14.9032 25.3675 L
39.2708 25.3675 L
39.2708 24.6929 L
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (DblLine1.2.outer)
(DblLine1.2.outer) 1 1.0003 39.2706 39.271 [
%AI3_Tile
(0 O 0 R  1 0.14 0.09 0 k
 1 0.14 0.09 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
39.2708 26.6602 m
13.6111 26.6602 L
13.6111 1.0005 L
22.1751 1 L
22.1751 18.096 L
39.2708 18.096 L
39.2708 26.6602 L
f
39.2708 15.578 m
24.6928 15.578 L
24.6928 1 L
25.367 1 L
25.367 14.9038 L
39.2708 14.9038 L
39.2708 15.578 L
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (DblLine1.2.side)
(DblLine1.2.side) 1 1 39.2706 39.2706 [
%AI3_Tile
(0 O 0 R  1 0.14 0.09 0 k
 1 0.14 0.09 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
39.2704 18.0958 m
39.2704 26.6598 L
1.0001 26.6598 L
1.0001 18.0958 L
39.2704 18.0958 L
f
39.2704 14.9037 m
39.2704 15.5776 L
1.0001 15.5776 L
1.0001 14.9037 L
39.2704 14.9037 L
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Diamonds)
(Diamonds) 1 1 37.1865 41.9411 [
%AI3_Tile
(0 O 0 R  0.2 0 1 0 k
 0.2 0 1 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
1.0002 1.0004 m
1.0002 41.9411 L
37.1865 41.9411 L
37.1865 1.0004 L
1.0002 1.0004 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 g
 0 G
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
1 XR
19.0936 41.9408 m
19.0929 41.9408 L
19.0933 41.9402 L
19.0936 41.9408 L
f
7.0311 41.9408 m
7.0304 41.9408 L
7.0308 41.9402 L
7.0311 41.9408 L
f
31.1556 41.9408 m
31.1548 41.9408 L
31.1552 41.9402 L
31.1556 41.9408 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0.75 0.9 0 0 k
 0.75 0.9 0 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
1 XR
37.1865 1 m
37.1865 11.2349 L
31.1552 1 L
37.1865 1 L
f
19.0933 1 m
31.1552 1 L
25.124 11.2349 L
19.0933 1 L
f
7.0308 1 m
19.0933 1 L
13.062 11.2349 L
7.0308 1 L
f
1 1 m
7.0308 1 L
1 11.2349 L
1 1 L
f
37.1859 11.2349 m
37.1865 11.236 L
37.1865 31.7059 L
31.1552 21.4704 L
37.1859 11.2349 L
f
19.0933 21.4704 m
25.124 11.2349 L
31.1552 21.4704 L
25.124 31.7059 L
19.0933 21.4704 L
f
7.0308 21.4704 m
13.062 11.2349 L
19.0933 21.4704 L
13.062 31.7059 L
7.0308 21.4704 L
f
1 31.7059 m
1 11.2349 L
7.0308 21.4704 L
1 31.7059 L
f
37.1859 31.7059 m
37.1865 31.707 L
37.1865 41.9408 L
31.1556 41.9408 L
31.1552 41.9402 L
37.1859 31.7059 L
f
25.124 31.7059 m
31.1552 41.9402 L
31.1548 41.9408 L
19.0936 41.9408 L
19.0933 41.9402 L
25.124 31.7059 L
f
13.062 31.7059 m
19.0933 41.9402 L
19.0929 41.9408 L
7.0311 41.9408 L
7.0308 41.9402 L
13.062 31.7059 L
f
7.0304 41.9408 m
1 41.9408 L
1 31.7059 L
7.0308 41.9402 L
7.0304 41.9408 L
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Hexagon)
(Hexagon) 4 1.6 70.151 77.983 [
%AI3_Tile
(0 O 0 R  0 1 0.35 0 k
 0 1 0.35 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
70.151 77.983 m
70.151 1.6 L
4 1.6 L
4 77.983 L
70.151 77.983 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0.9921 1 0 0 k
 0.9921 1 0 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
20.538 30.244 m
S
26.05 20.696 m
15.025 20.696 L
9.513 30.244 L
15.025 39.792 L
26.05 39.792 L
31.564 30.244 L
26.05 20.696 L
s
20.537 11.148 m
S
26.05 1.6 m
15.024 1.6 L
9.512 11.148 L
15.024 20.696 L
26.05 20.696 L
31.563 11.148 L
26.05 1.6 L
s
53.614 30.244 m
S
59.126 20.696 m
48.101 20.696 L
42.589 30.244 L
48.101 39.792 L
59.126 39.792 L
64.639 30.244 L
59.126 20.696 L
s
53.614 11.148 m
S
59.126 1.6 m
48.101 1.6 L
42.588 11.148 L
48.101 20.696 L
59.126 20.696 L
64.638 11.148 L
59.126 1.6 L
s
20.538 68.436 m
S
26.051 58.888 m
15.025 58.888 L
9.513 68.436 L
15.025 77.984 L
26.051 77.984 L
31.564 68.436 L
26.051 58.888 L
s
20.538 49.34 m
S
26.051 39.792 m
15.025 39.792 L
9.513 49.34 L
15.025 58.888 L
26.05 58.888 L
31.564 49.34 L
26.051 39.792 L
s
53.614 68.436 m
S
59.127 58.888 m
48.102 58.888 L
42.589 68.436 L
48.101 77.985 L
59.127 77.985 L
64.639 68.436 L
59.127 58.888 L
s
53.614 49.34 m
S
59.127 39.792 m
48.101 39.792 L
42.589 49.34 L
48.101 58.888 L
59.127 58.888 L
64.639 49.341 L
59.127 39.792 L
s
4 20.696 m
S
3.876 30.244 m
9.512 30.244 L
15.024 20.696 L
9.512 11.147 L
3.876 11.147 L
S
37.075 20.696 m
S
42.588 11.148 m
31.563 11.148 L
26.05 20.696 L
31.563 30.244 L
42.589 30.244 L
48.101 20.696 L
42.588 11.148 L
s
37.076 58.888 m
S
42.589 49.34 m
31.564 49.34 L
26.05 58.888 L
31.564 68.436 L
42.589 68.436 L
48.101 58.888 L
42.589 49.34 L
s
70.151 20.696 m
S
70.2094 11.147 m
64.639 11.147 L
59.127 20.696 L
64.639 30.244 L
70.2094 30.244 L
S
70.152 58.888 m
S
70.0427 49.34 m
64.639 49.34 L
59.127 58.888 L
64.639 68.436 L
70.0427 68.436 L
S
4 58.888 m
S
3.876 68.436 m
9.513 68.436 L
15.025 58.888 L
9.513 49.34 L
3.876 49.34 L
S
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Laurel.inner)
(Laurel.inner) 1 1 28.5392 28.5392 [
%AI3_Tile
(0 O 0 R  0 0.55 1 0.12 k
 0 0.55 1 0.12 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
19.2768 15.3585 m
28.9144 15.3585 L
28.9144 14.2335 L
19.2768 14.2335 L
19.2768 15.3585 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0.55 1 0.3 k
 0 0.55 1 0.3 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
14.7461 18.9624 m
13.0264 17.8486 11.3273 14.4193 11.3273 10.0362 c
11.3273 5.6547 12.9768 2.1518 14.744 1.1112 C
14.7443 1.1112 L
16.4707 2.1518 18.1679 5.6547 18.1679 10.0362 c
18.1679 14.4143 16.432 17.8633 14.7461 18.9624 C
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Laurel.outer)
(Laurel.outer) 1 1.3751 28.5393 28.9143 [
%AI3_Tile
(0 O 0 R  0 0.55 1 0.12 k
 0 0.55 1 0.12 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
14.2395 10.6375 m
14.2395 1 L
15.3645 1 L
15.3645 10.6375 L
14.2395 10.6375 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0.55 1 0.3 k
 0 0.55 1 0.3 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
10.5769 15.124 m
11.6906 16.8438 15.1198 18.5429 19.503 18.5429 c
23.8844 18.5429 27.3874 16.8935 28.428 15.1262 C
28.428 15.1259 L
27.3874 13.3995 23.8844 11.7023 19.503 11.7023 c
15.1249 11.7023 11.676 13.4382 10.5769 15.124 C
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Laurel.side)
(Laurel.side) 1.3972 1 28.9364 28.5392 [
%AI3_Tile
(0 O 0 R  0 0.55 1 0.12 k
 0 0.55 1 0.12 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
29.1571 15.2998 m
1 15.2998 L
1 14.1748 L
29.1571 14.1748 L
29.1571 15.2998 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0.55 1 0.3 k
 0 0.55 1 0.3 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
2.0183 27.4787 m
1.5899 25.4751 2.8132 21.8488 5.9125 18.7494 c
9.0107 15.6513 12.654 14.3407 14.6395 14.8545 C
14.6398 14.8547 L
15.1246 16.8113 13.8478 20.4883 10.7496 23.5865 c
7.6538 26.6824 3.9876 27.8936 2.0183 27.4787 C
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0.39 0.7 0.12 k
 0 0.39 0.7 0.12 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
2.0183 2.0091 m
1.5899 4.0126 2.8132 7.6389 5.9125 10.7382 c
9.0107 13.8365 12.654 15.147 14.6395 14.6332 C
14.6398 14.633 L
15.1246 12.6765 13.8478 8.9993 10.7496 5.9011 c
7.6538 2.8054 3.9876 1.5941 2.0183 2.0091 C
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0.55 1 0.3 k
 0 0.55 1 0.3 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
15.821 2.0091 m
15.3925 4.0126 16.6159 7.6389 19.7152 10.7382 c
22.8134 13.8365 26.4567 15.147 28.4422 14.6332 C
28.4424 14.633 L
28.9273 12.6765 27.6505 8.9993 24.5523 5.9011 c
21.4565 2.8054 17.7903 1.5941 15.821 2.0091 C
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0.39 0.7 0.12 k
 0 0.39 0.7 0.12 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
15.821 27.4787 m
15.3925 25.4751 16.6159 21.8488 19.7152 18.7494 c
22.8134 15.6513 26.4567 14.3407 28.4422 14.8545 C
28.4424 14.8547 L
28.9273 16.8113 27.6505 20.4883 24.5523 23.5865 c
21.4565 26.6824 17.7903 27.8936 15.821 27.4787 C
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Leaves-fall)
(Leaves-fall) 1 1 52.733 89.816 [
%AI3_Tile
(0 O 0 R  0.05 0.2 1 0 k
 0.05 0.2 1 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
52.733 89.816 m
52.733 1 L
1 1 L
1 89.816 L
52.733 89.816 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0.83 0 1 0 k
 0.83 0 1 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
1 D
0 XR
25.317 2.083 m
25.994 2.283 26.284 2.435 V
24.815 5.147 29.266 9.428 30.186 10.168 C
30.787 9.943 30.907 7.41 30.23 6.073 C
31.073 6.196 33.262 4.818 34.02 3.529 C
34.085 4.217 35.655 7.158 36.481 7.535 C
35.561 7.933 34.896 9.406 34.134 10.854 C
35.156 11.021 36.555 10.1 38.026 9.195 C
38.541 9.996 39.915 10.968 41.174 11.484 C
40.086 12.171 39.591 12.912 39.094 14.372 C
38.052 13.806 35.865 13.657 35.336 13.944 C
35.85 15.057 38.096 15.6 38.827 15.547 C
38.573 16.409 38.425 18.562 38.598 21.155 C
36.939 19.839 35.393 18.522 33.734 18.58 C
34.003 17.158 33.367 15.353 32.99 14.86 C
32.417 15.604 32.006 16.431 32.361 18.408 C
30.908 18.893 29.671 19.439 28.297 20.697 C
28.297 18.866 27.725 17.664 26.857 16.388 C
28.117 15.9 29.389 14.697 29.385 13.658 C
28.537 13.81 26.845 14.554 26.352 15.547 C
25.634 14.8 23.95 13.491 22.346 13.487 C
23.534 12.632 24.454 11.598 24.549 9.686 C
25.802 10.657 28.255 11.272 29.635 10.674 C
24.794 6.438 25.262 3.405 25.317 2.083 C
f
12.412 33.743 m
11.887 33.272 11.691 33.01 V
14.182 31.192 11.928 25.366 11.415 24.303 C
10.776 24.247 9.369 26.988 9.405 28.486 C
8.273 27.73 6.608 27.851 5.006 28.137 C
5.578 27.049 5.177 25.104 4.376 24.303 C
5.378 24.339 6.729 23.624 8.038 22.643 C
7.203 21.823 5.376 21.984 3.46 22.643 C
3.46 21.27 2.638 19.533 1.801 18.351 C
3.117 18.408 4.262 17.722 5.12 16.691 C
5.785 18.26 7.819 19.373 8.725 19.324 C
8.742 17.959 7.169 15.869 6.147 15.47 C
6.747 14.801 7.766 13.27 8.725 10.854 C
9.524 12.78 10.694 14.022 11.927 14.955 C
10.785 16.517 10.959 17.388 11.358 18.866 C
12.101 18.325 13.132 17.893 13.303 15.89 C
15.02 16.176 16.156 16.104 17.653 15.203 C
17.198 16.865 17.195 18.466 17.515 20.166 C
15.665 20.026 14.105 20.239 13.075 21.728 C
13.905 21.955 16.165 22.014 17.039 21.082 C
17.366 22.064 18.261 23.47 19.707 24.164 C
18.267 24.424 17.282 25.523 16.373 27.209 C
15.66 25.793 13.433 24.128 11.93 24.073 C
13.933 28.137 13.933 31.055 12.412 33.743 C
f
31.125 30.5 m
31.445 31.128 31.648 31.385 V
34.045 29.444 38.851 32.752 39.746 33.521 C
39.636 34.153 37.511 35.29 35.794 34.26 C
36.234 35.549 35.332 37.51 34.134 38.552 C
35.873 38.451 38.019 39.813 38.541 40.555 C
38.763 39.577 39.946 38.307 41.231 37.293 C
41.582 38.266 40.887 40.384 39.971 41.986 C
41.206 42.487 42.318 43.417 42.776 44.676 C
43.233 43.359 44.236 42.685 45.58 41.929 C
44.421 40.502 43.64 38.328 43.92 37.465 C
45.243 37.8 46.814 40.518 46.937 41.607 C
47.812 40.841 49.366 40.154 51.947 39.848 C
50.246 38.77 49.884 36.778 49.3 35.347 C
48.152 35.794 45.983 35.853 45.008 35.29 C
45.721 34.711 47.061 34.16 49.071 34.146 C
49.071 32.601 49.534 31.469 50.788 30.254 C
49.065 30.267 46.965 29.781 45.469 29.389 C
45.221 30.718 44.378 32.314 43.233 32.715 C
43.227 31.854 43.493 29.605 44.378 28.938 C
43.513 28.37 42.26 26.993 41.803 25.276 C
41.181 26.601 40.32 27.906 38.457 28.35 C
39.642 29.403 40.477 31.42 40.143 32.887 C
35.091 28.905 32.414 30.203 31.125 30.5 C
f
25.317 46.491 m
25.994 46.691 26.284 46.843 V
24.815 49.556 29.266 53.837 30.186 54.576 C
30.787 54.351 30.907 51.818 30.23 50.482 C
31.073 50.605 33.262 49.227 34.02 47.938 C
34.085 48.625 35.655 51.566 36.481 51.944 C
35.561 52.341 34.896 53.814 34.134 55.263 C
35.156 55.43 36.555 54.508 38.026 53.603 C
38.541 54.404 39.915 55.377 41.174 55.892 C
40.086 56.579 39.591 57.321 39.094 58.78 C
38.052 58.215 35.865 58.065 35.336 58.353 C
35.85 59.465 38.096 60.008 38.827 59.955 C
38.573 60.817 38.425 62.97 38.598 65.563 C
36.939 64.247 35.393 62.931 33.734 62.988 C
34.003 61.567 33.367 59.761 32.99 59.268 C
32.417 60.012 32.006 60.839 32.361 62.817 C
30.908 63.302 29.671 63.847 28.297 65.106 C
28.297 63.274 27.725 62.073 26.857 60.796 C
28.117 60.308 29.389 59.106 29.385 58.067 C
28.537 58.219 26.845 58.963 26.352 59.955 C
25.634 59.209 23.95 57.899 22.346 57.895 C
23.534 57.041 24.454 56.006 24.549 54.094 C
25.802 55.065 28.255 55.68 29.635 55.083 C
24.794 50.846 25.262 47.814 25.317 46.491 C
f
12.412 78.151 m
11.887 77.68 11.691 77.418 V
14.182 75.601 11.928 69.774 11.415 68.711 C
10.776 68.655 9.369 71.396 9.405 72.894 C
8.273 72.138 6.608 72.259 5.006 72.545 C
5.578 71.458 5.177 69.512 4.376 68.711 C
5.378 68.747 6.729 68.032 8.038 67.052 C
7.203 66.231 5.376 66.393 3.46 67.052 C
3.46 65.678 2.638 63.941 1.801 62.759 C
3.117 62.817 4.262 62.13 5.12 61.1 C
5.785 62.669 7.819 63.781 8.725 63.732 C
8.742 62.367 7.169 60.277 6.147 59.878 C
6.747 59.209 7.766 57.678 8.725 55.263 C
9.524 57.189 10.694 58.431 11.927 59.364 C
10.785 60.925 10.959 61.796 11.358 63.274 C
12.101 62.734 13.132 62.301 13.303 60.298 C
15.02 60.584 16.156 60.512 17.653 59.612 C
17.198 61.273 17.195 62.874 17.515 64.574 C
15.665 64.434 14.105 64.648 13.075 66.136 C
13.905 66.363 16.165 66.422 17.039 65.49 C
17.366 66.472 18.261 67.878 19.707 68.572 C
18.267 68.832 17.282 69.931 16.373 71.617 C
15.66 70.202 13.433 68.536 11.93 68.482 C
13.933 72.545 13.933 75.464 12.412 78.151 C
f
31.125 74.908 m
31.445 75.537 31.648 75.794 V
34.045 73.853 38.851 77.161 39.746 77.929 C
39.636 78.562 37.511 79.698 35.794 78.668 C
36.234 79.957 35.332 81.918 34.134 82.96 C
35.873 82.86 38.019 84.221 38.541 84.963 C
38.763 83.986 39.946 82.716 41.231 81.701 C
41.582 82.675 40.887 84.792 39.971 86.394 C
41.206 86.895 42.318 87.825 42.776 89.084 C
43.233 87.768 44.236 87.093 45.58 86.337 C
44.421 84.91 43.64 82.736 43.92 81.873 C
45.243 82.208 46.814 84.926 46.937 86.016 C
47.812 85.249 49.366 84.563 51.947 84.257 C
50.246 83.179 49.884 81.187 49.3 79.756 C
48.152 80.203 45.983 80.262 45.008 79.698 C
45.721 79.119 47.061 78.569 49.071 78.554 C
49.071 77.009 49.534 75.877 50.788 74.663 C
49.065 74.675 46.965 74.189 45.469 73.798 C
45.221 75.126 44.378 76.723 43.233 77.123 C
43.227 76.262 43.493 74.013 44.378 73.347 C
43.513 72.779 42.26 71.401 41.803 69.684 C
41.181 71.009 40.32 72.314 38.457 72.759 C
39.642 73.812 40.477 75.829 40.143 77.295 C
35.091 73.313 32.414 74.611 31.125 74.908 C
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Polka dots)
(Polka dots) 1 1 29.8 29.8 [
%AI3_Tile
(0 O 0 R  0.45 0.9 0 0 k
 0.45 0.9 0 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
1 1 m
1 29.8 L
29.8 29.8 L
29.8 1 L
1 1 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0.09 0.18 0 0 k
 0.09 0.18 0 0 K
) @
(
%AI6_BeginPatternLayer
*u
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
11.08 8.2 m
11.08 9.791 9.79 11.08 8.2 11.08 c
6.609 11.08 5.32 9.791 5.32 8.2 c
5.32 6.61 6.609 5.32 8.2 5.32 c
9.79 5.32 11.08 6.61 11.08 8.2 c
f
11.08 22.6 m
11.08 24.191 9.79 25.48 8.2 25.48 c
6.609 25.48 5.32 24.191 5.32 22.6 c
5.32 21.01 6.609 19.72 8.2 19.72 c
9.79 19.72 11.08 21.01 11.08 22.6 c
f
18.28 15.4 m
18.28 16.991 16.99 18.28 15.4 18.28 c
13.809 18.28 12.52 16.991 12.52 15.4 c
12.52 13.81 13.809 12.52 15.4 12.52 c
16.99 12.52 18.28 13.81 18.28 15.4 c
f
25.48 8.2 m
25.48 9.791 24.19 11.08 22.6 11.08 c
21.009 11.08 19.72 9.791 19.72 8.2 c
19.72 6.61 21.009 5.32 22.6 5.32 c
24.19 5.32 25.48 6.61 25.48 8.2 c
f
25.48 22.6 m
25.48 24.191 24.19 25.48 22.6 25.48 c
21.009 25.48 19.72 24.191 19.72 22.6 c
19.72 21.01 21.009 19.72 22.6 19.72 c
24.19 19.72 25.48 21.01 25.48 22.6 c
f
*U
26.92 1 m
29.8 1 L
29.8 3.88 L
28.209 3.88 26.92 2.591 26.92 1 C
f
15.4 3.88 m
13.809 3.88 12.52 2.591 12.52 1 C
18.28 1 L
18.28 2.591 16.99 3.88 15.4 3.88 c
f
1 3.88 m
1 1 L
3.88 1 L
3.88 2.591 2.59 3.88 1 3.88 C
f
1 XR
26.92 15.4 m
26.92 13.81 28.209 12.52 29.8 12.52 C
29.8 18.28 L
28.209 18.28 26.92 16.991 26.92 15.4 c
f
0 XR
15.4 18.28 m
13.809 18.28 12.52 16.991 12.52 15.4 c
12.52 13.81 13.809 12.52 15.4 12.52 c
16.99 12.52 18.28 13.81 18.28 15.4 c
18.28 16.991 16.99 18.28 15.4 18.28 c
f
1 XR
3.88 15.4 m
3.88 16.991 2.59 18.28 1 18.28 C
1 12.52 L
2.59 12.52 3.88 13.81 3.88 15.4 c
f
0 XR
29.8 26.92 m
29.8 29.8 L
26.92 29.8 L
26.92 28.21 28.209 26.92 29.8 26.92 C
f
15.4 26.92 m
16.99 26.92 18.28 28.21 18.28 29.8 C
12.52 29.8 L
12.52 28.21 13.809 26.92 15.4 26.92 c
f
3.88 29.8 m
1 29.8 L
1 26.92 L
2.59 26.92 3.88 28.21 3.88 29.8 C
f
1 XR
8.2 11.08 m
6.609 11.08 5.32 9.791 5.32 8.2 c
5.32 6.61 6.609 5.32 8.2 5.32 c
9.79 5.32 11.08 6.61 11.08 8.2 c
11.08 9.791 9.79 11.08 8.2 11.08 c
f
22.6 11.08 m
21.009 11.08 19.72 9.791 19.72 8.2 c
19.72 6.61 21.009 5.32 22.6 5.32 c
24.19 5.32 25.48 6.61 25.48 8.2 c
25.48 9.791 24.19 11.08 22.6 11.08 c
f
8.2 25.48 m
6.609 25.48 5.32 24.191 5.32 22.6 c
5.32 21.01 6.609 19.72 8.2 19.72 c
9.79 19.72 11.08 21.01 11.08 22.6 c
11.08 24.191 9.79 25.48 8.2 25.48 c
f
22.6 25.48 m
21.009 25.48 19.72 24.191 19.72 22.6 c
19.72 21.01 21.009 19.72 22.6 19.72 c
24.19 19.72 25.48 21.01 25.48 22.6 c
25.48 24.191 24.19 25.48 22.6 25.48 c
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Random circles)
(Random circles) 4.365 3.849 51.13 57.85 [
%AI3_Tile
(0 O 0 R  0 0.1125 0.45 0 k
 0 0.1125 0.45 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
4.365 3.849 m
4.365 57.85 L
51.13 57.85 L
51.13 3.849 L
4.365 3.849 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0.4 0.7 1 0 k
 0.4 0.7 1 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
45.429 36.274 m
45.843 36.991 45.598 37.908 44.88 38.323 c
44.163 38.737 43.245 38.491 42.831 37.774 c
42.417 37.056 42.663 36.139 43.38 35.725 c
44.098 35.31 45.015 35.556 45.429 36.274 c
s
44.179 27.926 m
43.765 28.643 42.848 28.889 42.13 28.475 c
41.413 28.06 41.167 27.143 41.581 26.425 c
41.995 25.708 42.913 25.462 43.63 25.876 c
44.348 26.291 44.593 27.208 44.179 27.926 c
s
35.929 41.024 m
35.515 41.741 34.598 41.987 33.88 41.573 c
33.163 41.158 32.917 40.241 33.331 39.524 c
33.745 38.806 34.663 38.56 35.38 38.975 c
36.098 39.389 36.343 40.306 35.929 41.024 c
s
28.38 34.225 m
28.794 34.942 28.549 35.859 27.831 36.274 c
27.114 36.688 26.196 36.442 25.782 35.725 c
25.368 35.007 25.614 34.09 26.331 33.675 c
27.049 33.261 27.966 33.507 28.38 34.225 c
s
31.179 28.024 m
30.765 28.741 29.848 28.987 29.13 28.573 c
28.413 28.158 28.167 27.241 28.581 26.524 c
28.995 25.806 29.913 25.56 30.63 25.975 c
31.348 26.389 31.593 27.306 31.179 28.024 c
s
36.792 23.349 m
35.963 23.349 35.292 22.678 35.292 21.849 c
35.292 21.021 35.963 20.349 36.792 20.349 c
37.62 20.349 38.292 21.021 38.292 21.849 c
38.292 22.678 37.62 23.349 36.792 23.349 c
s
10.888 34.175 m
10.474 34.893 10.72 35.81 11.437 36.225 c
12.155 36.639 13.072 36.393 13.486 35.675 c
13.901 34.958 13.655 34.041 12.937 33.626 c
12.22 33.212 11.303 33.458 10.888 34.175 c
s
11.517 26.601 m
11.931 27.318 12.848 27.564 13.566 27.15 c
14.283 26.735 14.529 25.818 14.115 25.1 c
13.701 24.383 12.783 24.137 12.066 24.551 c
11.348 24.966 11.103 25.883 11.517 26.601 c
s
16.782 41.426 m
17.196 42.143 18.114 42.389 18.831 41.975 c
19.549 41.56 19.794 40.643 19.38 39.926 c
18.966 39.208 18.049 38.962 17.331 39.377 c
16.614 39.791 16.368 40.708 16.782 41.426 c
s
22.365 24.35 m
23.194 24.35 23.865 23.678 23.865 22.85 c
23.865 22.021 23.194 21.35 22.365 21.35 c
21.537 21.35 20.865 22.021 20.865 22.85 c
20.865 23.678 21.537 24.35 22.365 24.35 c
s
45.385 7.849 m
44.971 7.132 44.053 6.886 43.336 7.3 c
42.619 7.714 42.373 8.632 42.787 9.349 c
43.201 10.067 44.119 10.312 44.836 9.898 c
45.553 9.484 45.799 8.567 45.385 7.849 c
s
29.679 7.774 m
29.265 7.056 28.348 6.81 27.63 7.225 c
26.913 7.639 26.667 8.556 27.081 9.274 c
27.495 9.991 28.413 10.237 29.13 9.823 c
29.848 9.408 30.093 8.491 29.679 7.774 c
s
35.542 11.349 m
34.713 11.349 34.042 12.021 34.042 12.849 c
34.042 13.678 34.713 14.349 35.542 14.349 c
36.37 14.349 37.042 13.678 37.042 12.849 c
37.042 12.021 36.37 11.349 35.542 11.349 c
s
10.13 7.475 m
10.544 6.757 11.462 6.511 12.179 6.926 c
12.897 7.34 13.142 8.257 12.728 8.975 c
12.314 9.692 11.397 9.938 10.679 9.524 c
9.962 9.109 9.716 8.192 10.13 7.475 c
s
20.203 13.349 m
21.031 13.349 21.703 14.021 21.703 14.849 c
21.703 15.678 21.031 16.349 20.203 16.349 c
19.375 16.349 18.703 15.678 18.703 14.849 c
18.703 14.021 19.375 13.349 20.203 13.349 c
s
44.635 54.1 m
45.049 53.382 44.803 52.465 44.086 52.051 c
43.369 51.636 42.451 51.882 42.037 52.6 c
41.623 53.317 41.869 54.234 42.586 54.649 c
43.303 55.063 44.221 54.817 44.635 54.1 c
s
36.841 48.1 m
36.427 47.382 35.509 47.136 34.792 47.551 c
34.074 47.965 33.828 48.882 34.243 49.6 c
34.657 50.317 35.574 50.563 36.292 50.149 c
37.009 49.734 37.255 48.817 36.841 48.1 c
s
29.728 54.725 m
30.143 54.007 29.897 53.09 29.179 52.675 c
28.462 52.261 27.544 52.507 27.13 53.225 c
26.716 53.942 26.962 54.859 27.679 55.274 c
28.397 55.688 29.314 55.442 29.728 54.725 c
s
10.86 54.1 m
10.446 53.382 10.691 52.465 11.409 52.051 c
12.126 51.636 13.044 51.882 13.458 52.6 c
13.872 53.317 13.626 54.234 12.909 54.649 c
12.191 55.063 11.274 54.817 10.86 54.1 c
s
19.154 49.1 m
19.568 48.382 20.486 48.136 21.203 48.551 c
21.92 48.965 22.166 49.882 21.752 50.6 c
21.338 51.317 20.42 51.563 19.703 51.149 c
18.986 50.734 18.74 49.817 19.154 49.1 c
s
51.88 38.85 m
51.052 38.85 50.38 39.521 50.38 40.35 c
50.38 41.178 51.052 41.85 51.88 41.85 c
52.709 41.85 53.38 41.178 53.38 40.35 c
53.38 39.521 52.709 38.85 51.88 38.85 c
s
51.865 11.349 m
52.693 11.349 53.365 12.021 53.365 12.849 c
53.365 13.678 52.693 14.349 51.865 14.349 c
51.036 14.349 50.365 13.678 50.365 12.849 c
50.365 12.021 51.036 11.349 51.865 11.349 c
s
30.179 18.524 m
29.765 19.241 28.848 19.487 28.13 19.073 c
27.413 18.658 27.167 17.741 27.581 17.024 c
27.995 16.306 28.913 16.06 29.63 16.475 c
30.348 16.889 30.593 17.806 30.179 18.524 c
s
21.679 31.524 m
21.265 32.241 20.348 32.487 19.63 32.073 c
18.913 31.658 18.667 30.741 19.081 30.024 c
19.495 29.306 20.413 29.06 21.13 29.475 c
21.848 29.889 22.093 30.806 21.679 31.524 c
s
37.914 33.399 m
37.5 34.116 36.583 34.362 35.865 33.948 c
35.148 33.533 34.902 32.616 35.316 31.899 c
35.73 31.181 36.648 30.935 37.365 31.35 c
38.083 31.764 38.328 32.681 37.914 33.399 c
s
28.929 45.024 m
28.515 45.741 27.598 45.987 26.88 45.573 c
26.163 45.158 25.917 44.241 26.331 43.524 c
26.745 42.806 27.663 42.56 28.38 42.975 c
29.098 43.389 29.343 44.306 28.929 45.024 c
s
12.429 45.524 m
12.015 46.241 11.098 46.487 10.38 46.073 c
9.663 45.658 9.417 44.741 9.831 44.024 c
10.245 43.306 11.163 43.06 11.88 43.475 c
12.598 43.889 12.843 44.806 12.429 45.524 c
s
44.49 45.6 m
44.075 46.317 43.158 46.563 42.441 46.149 c
41.723 45.734 41.477 44.817 41.891 44.1 c
42.306 43.382 43.223 43.136 43.941 43.55 c
44.658 43.965 44.904 44.882 44.49 45.6 c
s
12.679 18.524 m
12.265 19.241 11.348 19.487 10.63 19.073 c
9.913 18.658 9.667 17.741 10.081 17.024 c
10.495 16.306 11.413 16.06 12.13 16.475 c
12.848 16.889 13.093 17.806 12.679 18.524 c
s
21.179 5.774 m
20.765 6.491 19.848 6.737 19.13 6.323 c
18.413 5.908 18.167 4.991 18.581 4.274 c
18.995 3.557 19.913 3.311 20.63 3.725 c
21.348 4.139 21.593 5.056 21.179 5.774 c
s
38.929 5.274 m
38.515 5.991 37.598 6.237 36.88 5.823 c
36.163 5.408 35.917 4.491 36.331 3.774 c
36.745 3.057 37.663 2.811 38.38 3.225 c
39.098 3.639 39.343 4.556 38.929 5.274 c
s
43.865 18.1 m
44.694 18.1 45.365 17.429 45.365 16.6 c
45.365 15.772 44.694 15.1 43.865 15.1 c
43.037 15.1 42.365 15.772 42.365 16.6 c
42.365 17.429 43.037 18.1 43.865 18.1 c
s
51.13 4.6 m
50.302 4.6 49.63 3.928 49.63 3.1 c
49.63 2.272 50.302 1.6 51.13 1.6 c
51.959 1.6 52.63 2.272 52.63 3.1 c
52.63 3.928 51.959 4.6 51.13 4.6 c
s
52.163 31.649 m
51.748 32.366 50.831 32.612 50.114 32.198 c
49.396 31.783 49.15 30.866 49.565 30.149 c
49.979 29.431 50.896 29.185 51.614 29.6 c
52.331 30.014 52.577 30.931 52.163 31.649 c
s
51.85 51.35 m
51.021 51.35 50.35 50.678 50.35 49.85 c
50.35 49.021 51.021 48.35 51.85 48.35 c
52.678 48.35 53.35 49.021 53.35 49.85 c
53.35 50.678 52.678 51.35 51.85 51.35 c
s
49.85 23.1 m
50.679 23.1 51.35 22.428 51.35 21.6 c
51.35 20.771 50.679 20.1 49.85 20.1 c
49.022 20.1 48.35 20.771 48.35 21.6 c
48.35 22.428 49.022 23.1 49.85 23.1 c
s
5.13 38.85 m
4.302 38.85 3.63 39.521 3.63 40.35 c
3.63 41.178 4.302 41.85 5.13 41.85 c
5.959 41.85 6.63 41.178 6.63 40.35 c
6.63 39.521 5.959 38.85 5.13 38.85 c
s
5.115 11.349 m
5.943 11.349 6.615 12.021 6.615 12.849 c
6.615 13.678 5.943 14.349 5.115 14.349 c
4.286 14.349 3.615 13.678 3.615 12.849 c
3.615 12.021 4.286 11.349 5.115 11.349 c
s
4.38 4.6 m
3.552 4.6 2.88 3.928 2.88 3.1 c
2.88 2.272 3.552 1.6 4.38 1.6 c
5.209 1.6 5.88 2.272 5.88 3.1 c
5.88 3.928 5.209 4.6 4.38 4.6 c
s
5.413 31.649 m
4.998 32.366 4.081 32.612 3.364 32.198 c
2.646 31.783 2.4 30.866 2.815 30.149 c
3.229 29.431 4.146 29.185 4.864 29.6 c
5.581 30.014 5.827 30.931 5.413 31.649 c
s
5.1 51.35 m
4.271 51.35 3.6 50.678 3.6 49.85 c
3.6 49.021 4.271 48.35 5.1 48.35 c
5.928 48.35 6.6 49.021 6.6 49.85 c
6.6 50.678 5.928 51.35 5.1 51.35 c
s
3.1 23.1 m
3.929 23.1 4.6 22.428 4.6 21.6 c
4.6 20.771 3.929 20.1 3.1 20.1 c
2.272 20.1 1.6 20.771 1.6 21.6 c
1.6 22.428 2.272 23.1 3.1 23.1 c
s
21.194 59.775 m
20.78 60.492 19.863 60.738 19.145 60.324 c
18.428 59.909 18.182 58.992 18.596 58.275 c
19.01 57.558 19.928 57.312 20.645 57.726 c
21.363 58.14 21.608 59.057 21.194 59.775 c
s
38.944 59.275 m
38.53 59.992 37.613 60.238 36.895 59.824 c
36.178 59.409 35.932 58.492 36.346 57.775 c
36.76 57.058 37.678 56.812 38.395 57.226 c
39.113 57.64 39.358 58.557 38.944 59.275 c
s
51.145 58.601 m
50.317 58.601 49.645 57.929 49.645 57.101 c
49.645 56.273 50.317 55.601 51.145 55.601 c
51.974 55.601 52.645 56.273 52.645 57.101 c
52.645 57.929 51.974 58.601 51.145 58.601 c
s
4.395 58.601 m
3.567 58.601 2.895 57.929 2.895 57.101 c
2.895 56.273 3.567 55.601 4.395 55.601 c
5.224 55.601 5.895 56.273 5.895 57.101 c
5.895 57.929 5.224 58.601 4.395 58.601 c
s
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Rope.side)
(Rope.side) 1 4.6 60.9998 33.3999 [
%AI3_Tile
(0 O 0 R  0 0 0 1 k
 0 0 0 1 K
) @
(
%AI6_BeginPatternLayer
800 Ar
1 J 1 j 0.6 w 4 M []0 d
%AI3_Note:
0 D
0 XR
24.9999 7 m
15.6521 4.663 8.125 8.6981 1 14.1407 C
S
36.9999 7 m
22.3477 3.337 12.168 15.3276 1 23.859 C
S
48.9999 7 m
29.3464 2.0866 17.7386 25.3332 1 30.6213 C
S
1 30.9999 m
24.9999 36.9999 36.9999 1 60.9998 7 C
S
13 30.9999 m
32.6534 35.9133 44.2611 12.6667 60.9998 7.3786 C
S
24.9999 30.9999 m
39.652 34.6629 49.8317 22.6722 60.9998 14.1407 C
S
36.9999 30.9999 m
46.3476 33.3369 53.8749 29.3018 60.9998 23.859 C
S
48.9999 30.9999 m
53.3464 32.0865 57.2978 31.7908 60.9998 30.6213 C
S
13 7 m
8.6535 5.9134 4.7019 6.2091 1 7.3786 C
S
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Scales)
(Scales) 1.6 9.3475 48.088 55.8355 [
%AI3_Tile
(0 O 0 R  1 g
 1 G
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
1.6 9.3475 m
1.6 55.8355 L
48.088 55.8355 L
48.088 9.3475 L
1.6 9.3475 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 g
 0 G
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
17.0956 9.3475 m
12.8162 9.3475 9.3475 5.8787 9.3475 1.6 C
9.3475 5.8787 5.8787 9.3475 1.6 9.3475 C
1.6 13.6262 5.0687 17.095 9.3475 17.095 c
13.6268 17.095 17.0956 13.6262 17.0956 9.3475 C
s
32.5918 9.3475 m
28.3125 9.3475 24.8437 5.8787 24.8437 1.6 C
24.8437 5.8787 21.3743 9.3475 17.0956 9.3475 C
17.0956 13.6262 20.5644 17.095 24.8437 17.095 c
29.1224 17.095 32.5918 13.6262 32.5918 9.3475 C
s
48.088 9.3475 m
43.8087 9.3475 40.3399 5.8787 40.3399 1.6 C
40.3399 5.8787 36.8705 9.3475 32.5918 9.3475 C
32.5918 13.6262 36.0606 17.095 40.3399 17.095 c
44.6186 17.095 48.088 13.6262 48.088 9.3475 C
s
17.0956 40.3393 m
12.8162 40.3393 9.3475 36.8699 9.3475 32.5912 C
9.3475 36.8699 5.8787 40.3393 1.6 40.3393 C
1.6 44.6181 5.0687 48.0874 9.3475 48.0874 c
13.6268 48.0874 17.0956 44.6181 17.0956 40.3393 C
s
17.0956 24.8431 m
12.8162 24.8431 9.3475 21.3743 9.3475 17.095 C
9.3475 21.3743 5.8787 24.8431 1.6 24.8431 C
1.6 29.1218 5.0687 32.5912 9.3475 32.5912 c
13.6268 32.5912 17.0956 29.1218 17.0956 24.8431 C
s
32.5918 24.8431 m
28.3125 24.8431 24.8437 21.3743 24.8437 17.095 C
24.8437 21.3743 21.3743 24.8431 17.0956 24.8431 C
17.0956 29.1218 20.5644 32.5912 24.8437 32.5912 c
29.1224 32.5912 32.5918 29.1218 32.5918 24.8431 C
s
48.088 24.8431 m
43.8087 24.8431 40.3399 21.3743 40.3399 17.095 C
40.3399 21.3743 36.8705 24.8431 32.5918 24.8431 C
32.5918 29.1218 36.0606 32.5912 40.3399 32.5912 c
44.6186 32.5912 48.088 29.1218 48.088 24.8431 C
s
32.5918 40.3393 m
28.3125 40.3393 24.8437 36.8699 24.8437 32.5912 C
24.8437 36.8699 21.3743 40.3393 17.0956 40.3393 C
17.0956 44.6181 20.5644 48.0874 24.8437 48.0874 c
29.1224 48.0874 32.5918 44.6181 32.5918 40.3393 C
s
48.088 40.3393 m
43.8087 40.3393 40.3399 36.8699 40.3399 32.5912 C
40.3399 36.8699 36.8705 40.3393 32.5918 40.3393 C
32.5918 44.6181 36.0606 48.0874 40.3399 48.0874 c
44.6186 48.0874 48.088 44.6181 48.088 40.3393 C
s
17.0956 55.8355 m
12.8162 55.8355 9.3475 52.3662 9.3475 48.0874 C
9.3475 52.3662 5.8787 55.8355 1.6 55.8355 C
1.6 60.1143 5.0687 63.5836 9.3475 63.5836 c
13.6268 63.5836 17.0956 60.1143 17.0956 55.8355 C
s
32.5918 55.8355 m
28.3125 55.8355 24.8437 52.3662 24.8437 48.0874 C
24.8437 52.3662 21.3743 55.8355 17.0956 55.8355 C
17.0956 60.1143 20.5644 63.5836 24.8437 63.5836 c
29.1224 63.5836 32.5918 60.1143 32.5918 55.8355 C
s
48.088 55.8355 m
43.8087 55.8355 40.3399 52.3662 40.3399 48.0874 C
40.3399 52.3662 36.8705 55.8355 32.5918 55.8355 C
32.5918 60.1143 36.0606 63.5836 40.3399 63.5836 c
44.6186 63.5836 48.088 60.1143 48.088 55.8355 C
s
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (SolidStar.side)
(SolidStar.side) 1 1 33.0117 33.0117 [
%AI3_Tile
(0 O 0 R  0.05 0.2 0.95 0 k
 0.05 0.2 0.95 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
1 D
0 XR
7.9689 26.0458 m
14.5331 22.9874 l
17.0095 29.7904 L
19.4859 22.9874 l
26.0473 26.0458 l
22.9889 19.4815 l
29.792 17.0052 l
22.9889 14.5288 l
26.0473 7.9674 l
19.4859 11.0257 l
17.0095 4.2226 l
14.5305 11.0257 l
7.9689 7.9674 l
11.0273 14.5288 l
4.2242 17.0052 l
11.0273 19.4843 L
7.9689 26.0458 l
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Stars)
(Stars) 1 1 63.384 84.766 [
%AI3_Tile
(0 O 0 R  1 0.9 0.1 0 k
 1 0.9 0.1 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.3 w 4 M []0 d
%AI3_Note:
0 D
0 XR
1 1 m
1 84.766 L
63.384 84.766 L
63.384 1 L
1 1 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0.25 1 0 k
 0 0.25 1 0 K
) @
(
%AI6_BeginPatternLayer
*u
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
37.668 67.113 m
43.924 62.567 L
41.535 55.213 L
47.791 59.757 L
54.046 55.212 L
51.657 62.566 L
57.914 67.112 L
50.18 67.112 L
47.791 74.467 L
45.402 67.113 L
37.668 67.113 L
f
16.596 59.757 m
22.851 55.212 L
20.462 62.566 L
26.719 67.112 L
18.985 67.112 L
16.596 74.467 L
14.207 67.113 L
6.473 67.113 L
12.729 62.567 L
10.34 55.213 L
16.596 59.757 L
f
20.462 20.683 m
26.719 25.229 L
18.985 25.229 L
16.596 32.584 L
14.207 25.23 L
6.473 25.23 L
12.729 20.684 L
10.34 13.33 L
16.596 17.874 L
22.851 13.329 L
20.462 20.683 L
f
38.447 34.271 m
36.058 41.625 L
42.315 46.171 L
34.581 46.171 L
32.192 53.526 L
29.803 46.172 L
22.069 46.172 L
28.325 41.626 L
25.936 34.272 L
32.192 38.816 L
38.447 34.271 L
f
51.657 20.683 m
57.914 25.229 L
50.18 25.229 L
47.791 32.584 L
45.402 25.23 L
37.668 25.23 L
43.924 20.684 L
41.535 13.33 L
47.791 17.874 L
54.046 13.329 L
51.657 20.683 L
f
*U
1 XR
34.581 4.288 m
32.192 11.643 L
29.803 4.289 L
22.069 4.289 L
26.5962 1 L
37.7885 1 L
42.315 4.288 L
34.581 4.288 L
f
53.261 4.289 m
57.7882 1 L
63.384 1 L
63.384 11.643 L
60.995 4.289 L
53.261 4.289 L
f
4.866 41.625 m
11.123 46.171 L
3.389 46.171 L
1 53.526 L
1 38.816 L
7.255 34.271 L
4.866 41.625 L
f
36.058 41.625 m
42.315 46.171 L
34.581 46.171 L
32.192 53.526 L
29.803 46.172 L
22.069 46.172 L
28.325 41.626 L
25.936 34.272 L
32.192 38.816 L
38.447 34.271 L
36.058 41.625 L
f
53.261 46.172 m
59.517 41.626 L
57.128 34.272 L
63.384 38.816 L
63.384 53.526 L
60.995 46.172 L
53.261 46.172 L
f
4.866 83.508 m
6.5974 84.766 L
1 84.766 L
1 80.699 L
7.255 76.154 L
4.866 83.508 L
f
25.936 76.155 m
32.192 80.699 L
38.447 76.154 L
36.058 83.508 L
37.7895 84.766 L
26.5951 84.766 L
28.325 83.509 L
25.936 76.155 L
f
22.851 55.212 m
20.462 62.566 L
26.719 67.112 L
18.985 67.112 L
16.596 74.467 L
14.207 67.113 L
6.473 67.113 L
12.729 62.567 L
10.34 55.213 L
16.596 59.757 L
22.851 55.212 L
f
41.535 55.213 m
47.791 59.757 L
54.046 55.212 L
51.657 62.566 L
57.914 67.112 L
50.18 67.112 L
47.791 74.467 L
45.402 67.113 L
37.668 67.113 L
43.924 62.567 L
41.535 55.213 L
f
50.18 25.229 m
47.791 32.584 L
45.402 25.23 L
37.668 25.23 L
43.924 20.684 L
41.535 13.33 L
47.791 17.874 L
54.046 13.329 L
51.657 20.683 L
57.914 25.229 L
50.18 25.229 L
f
18.985 25.229 m
16.596 32.584 L
14.207 25.23 L
6.473 25.23 L
12.729 20.684 L
10.34 13.33 L
16.596 17.874 L
22.851 13.329 L
20.462 20.683 L
26.719 25.229 L
18.985 25.229 L
f
3.388 4.289 m
1 11.643 L
1 1 L
6.5948 1 L
11.122 4.289 L
3.388 4.289 L
f
57.128 76.154 m
63.384 80.699 L
63.384 84.766 L
57.7855 84.766 L
59.517 83.508 L
57.128 76.154 L
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Stripes)
(Stripes) 8.45 4.6001 80.45 76.6001 [
%AI3_Tile
(0 O 0 R  1 0.07 1 0 k
 1 0.07 1 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 3.6 w 4 M []0 d
%AI3_Note:
0 D
0 XR
8.2 8.2 m
80.7 8.2 L
S
8.2 22.6001 m
80.7 22.6001 L
S
8.2 37.0002 m
80.7 37.0002 L
S
8.2 51.4 m
80.7 51.4 L
S
8.2 65.8001 m
80.7 65.8001 L
S
8.2 15.4 m
80.7 15.4 L
S
8.2 29.8001 m
80.7 29.8001 L
S
8.2 44.2 m
80.7 44.2 L
S
8.2 58.6001 m
80.7 58.6001 L
S
8.2 73.0002 m
80.7 73.0002 L
S
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (TriBevel.outer)
(TriBevel.outer) 1 1.0004 31.6124 31.6127 [
%AI3_Tile
(0 O 0 R  0 0 0 0.3 k
 0 0 0 0.3 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
31.6118 5.4917 m
27.1221 5.4917 L
27.1205 1.0011 L
27.8031 1.0011 L
27.8031 4.8091 L
31.6118 4.8091 L
31.6118 5.4917 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.2 k
 0 0 0 0.2 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
31.6149 9.5062 m
23.1111 9.5062 L
23.1111 1.0015 L
27.1205 1.0015 L
27.1205 5.493 L
31.6144 5.493 L
31.6149 9.5062 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.4 k
 0 0 0 0.4 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
31.6124 10.485 m
22.1297 10.485 L
22.1292 1.0015 L
23.1084 1.0015 L
23.1084 9.5049 L
31.6124 9.5049 L
31.6124 10.485 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.3 k
 0 0 0 0.3 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
31.6129 17.2066 m
15.4064 17.2085 L
15.4064 1 L
22.1301 1 L
22.1301 10.4868 L
31.6129 10.4868 L
31.6129 17.2066 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.5 k
 0 0 0 0.5 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
31.6149 18.3658 m
14.2517 18.3658 L
14.2515 1.0009 L
15.4043 1.0009 L
15.4043 17.2093 L
31.6149 17.2093 L
31.6149 18.3658 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.4 k
 0 0 0 0.4 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
31.6124 30.4755 m
2.1395 30.4755 L
2.1395 1.0015 L
14.249 1 L
14.249 18.366 L
31.6149 18.366 L
31.6124 30.4755 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.6 k
 0 0 0 0.6 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
15.4066 16.847 m
14.2778 18.3257 l
15.4066 17.2057 l
15.4066 16.847 l
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.5 k
 0 0 0 0.5 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
23.1095 9.1906 m
22.1759 10.4392 l
23.1082 9.505 l
23.1095 9.1906 l
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.4 k
 0 0 0 0.4 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
27.8039 4.6026 m
27.1619 5.4533 l
27.8029 4.8093 l
27.8039 4.6026 l
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (TriBevel.side)
(TriBevel.side) 1.0006 1 29.0006 31.6124 [
%AI3_Tile
(0 O 0 R  0 0 0 0.3 k
 0 0 0 0.3 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
29 4.8087 m
29 4.8087 L
29.0026 5.4927 L
1.0026 5.4927 L
1 4.8087 L
1 4.8087 L
29 4.8087 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.2 k
 0 0 0 0.2 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
29.0026 5.4927 m
29.0005 9.5045 L
1.0005 9.5045 L
1.0026 5.4927 L
29.0026 5.4927 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.4 k
 0 0 0 0.4 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
29.0005 9.5045 m
29.0011 10.4865 L
1.0011 10.4865 L
1.0005 9.5045 L
29.0005 9.5045 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.3 k
 0 0 0 0.3 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
29.0011 10.4865 m
29.003 17.209 L
1.003 17.209 L
1.0011 10.4865 L
29.0011 10.4865 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.5 k
 0 0 0 0.5 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
29.003 17.209 m
29.0031 18.3656 L
1.0031 18.3656 L
1.003 17.209 L
29.003 17.209 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0 0 0 0.4 k
 0 0 0 0.4 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D
0 XR
29.0031 18.3656 m
29.0006 30.4752 L
1.0006 30.4752 L
1.0031 18.3656 L
29.0031 18.3656 L
f
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Waves-scroll)
(Waves-scroll) 17.926 10.516 68.663 69.012 [
%AI3_Tile
(0 O 0 R  1 0 0.3 0 k
 1 0 0.3 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 1 w 4 M []0 d
%AI3_Note:
1 D
0 XR
17.926 69.012 m
17.926 10.516 L
68.663 10.516 L
68.663 69.012 L
17.926 69.012 L
f
%AI6_EndPatternLayer
) &
(0 O 0 R  0.55 0 0 0 k
 0.55 0 0 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 0.75 w 4 M []0 d
%AI3_Note:
0 D
0 XR
65.335 70.465 m
65.881 68.746 67.444 68.168 68.663 69.012 C
67.538 69.668 68.011 71.255 69.686 70.933 c
72.124 70.464 71.894 67.213 70.53 65.589 c
68.561 63.245 64.565 60.995 53.241 71.117 C
S
39.964 70.465 m
40.511 68.746 42.074 68.168 43.293 69.012 C
42.168 69.668 42.64 71.255 44.316 70.933 c
46.753 70.464 46.524 67.213 45.16 65.589 c
43.191 63.245 39.195 60.995 27.87 71.117 c
S
14.594 70.465 m
15.141 68.746 16.704 68.168 17.923 69.012 C
16.798 69.668 17.27 71.255 18.945 70.933 c
21.382 70.464 21.153 67.213 19.789 65.589 c
17.821 63.245 13.825 60.995 2.5 71.117 c
S
10.959 51.619 m
22.282 41.497 26.278 43.747 28.247 46.09 c
29.611 47.715 29.841 50.965 27.403 51.434 c
25.728 51.757 25.255 50.169 26.38 49.513 C
25.161 48.669 23.599 49.248 23.052 50.966 c
22.723 51.997 23.38 53.966 24.872 54.903 c
27.267 56.406 31.371 56.05 36.328 51.619 c
47.653 41.497 51.649 43.746 53.618 46.09 c
54.982 47.715 55.212 50.965 52.774 51.434 c
51.099 51.757 50.626 50.169 51.751 49.513 C
50.532 48.669 48.97 49.248 48.423 50.966 c
48.094 51.997 48.751 53.966 50.243 54.903 c
52.638 56.406 56.742 56.05 61.699 51.619 C
73.024 41.497 77.02 43.747 78.988 46.09 c
S
70.156 32.12 m
65.199 36.551 61.095 36.907 58.7 35.404 c
57.208 34.468 56.552 32.499 56.88 31.468 c
57.427 29.749 58.99 29.171 60.208 30.015 C
59.083 30.671 59.556 32.258 61.231 31.936 c
63.669 31.467 63.439 28.216 62.075 26.592 c
60.106 24.248 56.11 21.998 44.786 32.12 C
39.829 36.551 35.725 36.907 33.33 35.404 c
31.838 34.468 31.182 32.499 31.51 31.468 c
32.056 29.749 33.619 29.171 34.838 30.015 C
33.713 30.671 34.186 32.258 35.861 31.936 c
38.299 31.467 38.069 28.216 36.705 26.592 c
34.737 24.248 30.74 21.998 19.415 32.12 c
14.458 36.551 10.354 36.907 7.96 35.404 c
S
19.792 7.094 m
21.157 8.719 21.386 11.968 18.949 12.437 c
17.274 12.76 16.801 11.172 17.926 10.516 C
16.708 9.673 15.145 10.252 14.598 11.969 c
14.27 13 14.926 14.969 16.418 15.906 c
18.812 17.409 22.916 17.053 27.874 12.622 c
39.199 2.5 43.195 4.75 45.163 7.094 c
46.528 8.719 46.757 11.968 44.32 12.437 c
42.644 12.76 42.172 11.172 43.297 10.516 C
42.078 9.673 40.515 10.252 39.968 11.969 c
39.64 13 40.297 14.969 41.788 15.906 c
44.183 17.409 48.287 17.053 53.245 12.622 C
64.569 2.5 68.565 4.75 70.534 7.094 c
71.898 8.719 72.127 11.968 69.69 12.437 c
68.014 12.76 67.542 11.172 68.667 10.516 C
67.448 9.673 65.885 10.252 65.338 11.969 c
65.011 13 65.667 14.969 67.159 15.906 c
69.553 17.409 73.657 17.053 78.615 12.622 c
S
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI3_BeginPattern: (Yellow Stripe)
(Yellow Stripe) 8.4499 4.6 80.4499 76.6 [
%AI3_Tile
(0 O 0 R  0 0.4 1 0 k
 0 0.4 1 0 K
) @
(
%AI6_BeginPatternLayer
800 Ar
0 J 0 j 3.6 w 4 M []0 d
%AI3_Note:
0 D
0 XR
8.1999 8.1999 m
80.6999 8.1999 L
S
8.1999 22.6 m
80.6999 22.6 L
S
8.1999 37.0001 m
80.6999 37.0001 L
S
8.1999 51.3999 m
80.6999 51.3999 L
S
8.1999 65.8 m
80.6999 65.8 L
S
8.1999 15.3999 m
80.6999 15.3999 L
S
8.1999 29.8 m
80.6999 29.8 L
S
8.1999 44.1999 m
80.6999 44.1999 L
S
8.1999 58.6 m
80.6999 58.6 L
S
8.1999 73.0001 m
80.6999 73.0001 L
S
%AI6_EndPatternLayer
) &
] E
%AI3_EndPattern
%AI5_End_NonPrinting--
%AI5_Begin_NonPrinting
Np
13 Bn
%AI5_BeginGradient: (Black & White)
(Black & White) 0 2 Bd
[
0
0
0
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
1 %_Br
[
0 0 50 100 %_Bs
1 0 50 0 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Black, White)
(Black, White) 0 2 Bd
[
0
0
0
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
1 %_Br
[
0 0 50 100 %_Bs
1 0 50 0 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Chrome)
(Chrome) 0 6 Bd
[
0
<
464646454545444444444343434342424241414141404040403F3F3F3E3E3E3E3D3D3D3C3C3C3C3B
3B3B3B3A3A3A39393939383838383737373636363635353535343434333333333232323131313130
3030302F2F2F2E2E2E2E2D2D2D2D2C2C2C2B2B2B2B2A2A2A2A292929282828282727272726262625
2525252424242323232322222222212121202020201F1F1F1F1E1E1E1D1D1D1D1C1C1C1C1B1B1B1A
1A1A1A1919191818181817171717161616151515151414141413131312121212111111101010100F
0F0F0F0E0E0E0D0D0D0D0C0C0C0C0B0B0B0A0A0A0A09090909080808070707070606060505050504
04040403030302020202010101010000
>
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
<
1F1E1E1E1E1E1E1E1E1E1D1D1D1D1D1D1D1D1C1C1C1C1C1C1C1C1B1B1B1B1B1B1B1B1B1A1A1A1A1A
1A1A1A19191919191919191818181818181818181717171717171717161616161616161615151515
15151515151414141414141414131313131313131312121212121212121211111111111111111010
1010101010100F0F0F0F0F0F0F0F0F0E0E0E0E0E0E0E0E0D0D0D0D0D0D0D0D0C0C0C0C0C0C0C0C0C
0B0B0B0B0B0B0B0B0A0A0A0A0A0A0A0A090909090909090909080808080808080807070707070707
07060606060606060606050505050505050504040404040404040303030303030303030202020202
02020201010101010101010000000000
>
1 %_Br
0
0.275
1
<
6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544
434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F
>
1 %_Br
0
<
00000101010102020202030303040404040505050506060607070707080808090909090A0A0A0A0B
0B0B0C0C0C0C0D0D0D0D0E0E0E0F0F0F0F1010101011111112121212131313141414141515151516
161617171717181818181919191A1A1A1A1B1B1B1B1C1C1C1D1D1D1D1E1E1E1F1F1F1F2020202021
212122222222232323232424242525252526262626272727282828282929292A2A2A2A2B2B2B2B2C
2C2C2D2D2D2D2E2E2E2E2F2F2F303030303131313132323233333333343434353535353636363637
373738383838393939393A3A3A3B3B3B3B3C3C3C3C3D3D3D3E3E3E3E3F3F3F404040404141414142
42424343434344444444454545464646
>
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
<
00000101020203030304040505050606070708080809090A0A0A0B0B0C0C0D0D0D0E0E0F0F101010
1111121212131314141515151616171718181819191A1A1A1B1B1C1C1D1D1D1E1E1F1F1F20202121
222222232324242525252626272727282829292A2A2A2B2B2C2C2D2D2D2E2E2F2F2F303031313232
32333334343435353636373737383839393A3A3A3B3B3C3C3C3D3D3E3E3F3F3F4040414142424243
434444444545464647474748484949494A4A4B4B4C4C4C4D4D4E4E4F4F4F50505151515252535354
54545555565657575758585959595A5A5B5B5C5C5C5D5D5E5E5F5F5F606061616162626363646464
6565666666676768686969696A6A6B6B
>
1 %_Br
0
0
0
0
1 %_Br
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
<
4D4C4C4C4B4B4B4A4A4A4A4949494848484747474746464645454544444444434343424242414141
414040403F3F3F3E3E3E3E3D3D3D3C3C3C3B3B3B3B3A3A3A39393938383838373737363636353535
35343434333333323232323131313030302F2F2F2F2E2E2E2D2D2D2C2C2C2C2B2B2B2A2A2A292929
292828282727272626262625252524242423232323222222212121202020201F1F1F1E1E1E1D1D1D
1D1C1C1C1B1B1B1A1A1A1A1919191818181717171716161615151514141414131313121212111111
111010100F0F0F0E0E0E0E0D0D0D0C0C0C0B0B0B0B0A0A0A09090908080808070707060606050505
05040404030303020202020101010000
>
0
0
1 %_Br
[
1 0 50 92 %_Bs
0 0.275 1 0.12 1 50 59 %_Bs
0 0.275 1 0.42 1 50 50 %_Bs
1 0 50 49 %_Bs
1 0 50 41 %_Bs
1 0.3 0 0 1 50 0 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Green, Blue)
(Green, Blue) 0 2 Bd
[
<
99999A9A9B9B9B9C9C9D9D9D9E9E9F9F9FA0A0A1A1A1A2A2A3A3A3A4A4A5A5A5A6A6A7A7A7A8A8A9
A9A9AAAAABABABACACADADADAEAEAFAFAFB0B0B1B1B1B2B2B3B3B3B4B4B5B5B5B6B6B7B7B7B8B8B9
B9B9BABABBBBBBBCBCBDBDBDBEBEBFBFBFC0C0C1C1C1C2C2C3C3C3C4C4C5C5C5C6C6C7C7C7C8C8C9
C9C9CACACBCBCBCCCCCDCDCDCECECFCFCFD0D0D1D1D1D2D2D3D3D3D4D4D5D5D5D6D6D7D7D7D8D8D9
D9D9DADADBDBDBDCDCDDDDDDDEDEDFDFDFE0E0E1E1E1E2E2E3E3E3E4E4E5E5E5E6E6E7E7E7E8E8E9
E9E9EAEAEBEBEBECECEDEDEDEEEEEFEFEFF0F0F1F1F1F2F2F3F3F3F4F4F5F5F5F6F6F7F7F7F8F8F9
F9F9FAFAFBFBFBFCFCFDFDFDFEFEFFFF
>
<
000102020304050506070808090A0B0B0C0D0E0E0F101111121314141516171718191A1A1B1C1D1D
1E1F20202122232324252626272829292A2B2C2C2D2E2F2F303132323334353536373838393A3B3B
3C3D3E3E3F404141424344444546474748494A4A4B4C4D4D4E4F5050515253535455565657585959
5A5B5C5C5D5E5F5F606162626364656566676868696A6B6B6C6D6E6E6F7071717273747475767777
78797A7A7B7C7D7D7E7F80808182828384858586878888898A8B8B8C8D8E8E8F9091919293949495
96979798999A9A9B9C9D9D9E9FA0A0A1A2A3A3A4A5A6A6A7A8A9A9AAABACACADAEAFAFB0B1B2B2B3
B4B5B5B6B7B8B8B9BABBBBBCBDBEBEBF
>
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
0
1 %_Br
[
1 0.75 0 0 1 50 100 %_Bs
0.6 0 1 0 1 50 0 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Orange, Green, Violet)
(Orange, Green, Violet) 0 3 Bd
[
<
F0EFEFEFEEEEEEEDEDEDECECECEBEBEBEAEAEAE9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E4E4E4E3E3E3
E3E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDBDADADAD9D9D9D8D8D8D7D7D7D6D6D6
D5D5D5D4D4D4D3D3D3D2D2D2D1D1D1D0D0D0CFCFCFCECECECDCDCDCCCCCCCBCBCBCACACAC9C9C9C8
C8C8C7C7C7C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C2C1C1C1C0C0C0BFBFBFBEBEBEBDBDBDBCBCBCBB
BBBBBABABAB9B9B9B8B8B8B7B7B7B6B6B6B5B5B5B4B4B4B3B3B3B2B2B2B1B1B1B0B0B0AFAFAFAEAE
AEADADADACACACABABABAAAAAAA9A9A9A8A8A8A7A7A7A6A6A6A5A5A5A4A4A4A3A3A3A2A2A2A1A1A1
A0A0A0A09F9F9F9E9E9E9D9D9D9C9C9C
>
<
5455555657575859595A5A5B5C5C5D5E5E5F5F6061616263636465656666676868696A6A6B6B6C6D
6D6E6F6F707171727273747475767677777879797A7B7B7C7C7D7E7E7F8080818282838384858586
87878888898A8A8B8C8C8D8D8E8F8F909191929393949495969697989899999A9B9B9C9D9D9E9E9F
A0A0A1A2A2A3A4A4A5A5A6A7A7A8A9A9AAAAABACACADAEAEAFAFB0B1B1B2B3B3B4B5B5B6B6B7B8B8
B9BABABBBBBCBDBDBEBFBFC0C1C1C2C2C3C4C4C5C6C6C7C7C8C9C9CACBCBCCCCCDCECECFD0D0D1D2
D2D3D3D4D5D5D6D7D7D8D8D9DADADBDCDCDDDDDEDFDFE0E1E1E2E3E3E4E4E5E6E6E7E8E8E9E9EAEB
EBECEDEDEEEFEFF0F0F1F2F2F3F4F4F5
>
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
<
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000101010101010101010101010101010101010101010101010101010101
01010101010101010101010101010101010101010101010101010101010101010101010101010101
01010101010101010101010101010101010101010101010101010101010101020202020202020202
02020202020202020202020202020202020202020202020202020202020202020202020202020202
02020202020202020202020202020202020202020202020202020202020202020202020202020202
02020202020202020202020303030303
>
1 %_Br
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0
>
<
A1A0A0A09F9F9F9E9E9E9D9D9D9D9C9C9C9B9B9B9A9A9A9999999898989797979696969595959594
94949393939292929191919090908F8F8F8E8E8E8E8D8D8D8C8C8C8B8B8B8A8A8A89898988888887
878787868686858585848484838383828282818181808080807F7F7F7E7E7E7D7D7D7C7C7C7B7B7B
7A7A7A79797978787878777777767676757575747474737373727272717171717070706F6F6F6E6E
6E6D6D6D6C6C6C6B6B6B6A6A6A6A6969696868686767676666666565656464646363636262626261
61616060605F5F5F5E5E5E5D5D5D5C5C5C5B5B5B5B5A5A5A59595958585857575756565655555554
54
>
<
F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6
F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8
F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFA
FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFC
FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD
FDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF
FF
>
0
1 %_Br
[
0.61 0.96 0 0.01 1 50 100 %_Bs
0.94 0.33 1 0 1 50 50 %_Bs
0 0.63 0.96 0 1 50 0 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Pink, Yellow, Green )
(Pink, Yellow, Green ) 0 3 Bd
[
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4E4F50
5152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273
>
<
05050505050505050505050505050404040404040404040404040404040404040404040403030303
03030303030303030303030303030303030303020202020202020202020202020202020202020202
0201010101010101010101010101010101010101010101000000000000000000000000
>
<
CCCCCCCCCCCBCBCBCBCBCBCBCBCBCACACACACACACACACAC9C9C9C9C9C9C9C9C9C8C8C8C8C8C8C8C8
C8C7C7C7C7C7C7C7C7C7C6C6C6C6C6C6C6C6C6C5C5C5C5C5C5C5C5C5C4C4C4C4C4C4C4C4C3C3C3C3
C3C3C3C3C3C2C2C2C2C2C2C2C2C2C1C1C1C1C1C1C1C1C1C0C0C0C0C0C0C0C0C0BFBFBF
>
0
1 %_Br
<
0D0D0D0D0D0D0D0D0D0D0D0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0B
0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A
0A0A0A09090909090909090909090909090909090909090808080808080808080808080808080808
08080807070707070707070707070707070707070706060606060606060606060606060606060605
05050505050505050505050505050505050404040404040404040404040404040404030303030303
03030303030303030303030202020202020202020202020202020201010101010101010101010101
010101000000000000000000
>
<
B2B2B2B2B1B1B1B0B0B0AFAFAEAEAEADADACACABABAAAAA9A9A8A8A7A7A6A6A5A5A4A4A3A3A2A2A1
A0A09F9F9E9E9D9D9C9B9B9A9A999898979796959594949392929190908F8F8E8D8D8C8B8B8A8989
88888786868584848382828180807F7E7D7D7C7B7B7A7979787777767575747372727170706F6E6D
6D6C6B6B6A69686867666565646363626160605F5E5D5D5C5B5A5A59585757565554545352515150
4F4E4D4D4C4B4A4A4948474646454443434241403F3F3E3D3C3B3B3A393837373635343333323130
2F2F2E2D2C2B2B2A2928272726252423222221201F1E1D1D1C1B1A1918181716151413131211100F
0E0E0D0C0B0A090908070605
>
<
0000010101020202030304040505060607070808090A0A0B0B0C0C0D0E0E0F0F1011111213131415
151616171818191A1B1B1C1D1D1E1F1F202122222324242526272728292A2A2B2C2C2D2E2F303031
323333343536363738393A3A3B3C3D3E3E3F4041424243444546464748494A4B4B4C4D4E4F505051
5253545556565758595A5B5B5C5D5E5F6061626263646566676869696A6B6C6D6E6F707171727374
75767778797A7B7B7C7D7E7F80818283848586868788898A8B8C8D8E8F9091929394949596979899
9A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0
C1C2C3C4C5C6C7C8C9CACBCC
>
0
1 %_Br
[
0.45 0 0.75 0 1 50 100 %_Bs
0 0.02 0.8 0 1 50 64 %_Bs
0.05 0.7 0 0 1 57 0 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Purple, Red, Yellow)
(Purple, Red, Yellow) 0 3 Bd
[
0
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A
>
<
CCCCCCCDCDCDCDCDCECECECECECFCFCFCFD0D0D0D0D0D1D1D1D1D1D2D2D2D2D2D3D3D3D3D3D4D4D4
D4D5D5D5D5D5D6D6D6D6D6D7D7D7D7D7D8D8D8D8D8D9D9D9D9DADADADADADBDBDBDBDBDCDCDCDCDC
DDDDDDDDDDDEDEDEDEDFDFDFDFDFE0E0E0E0E0E1E1E1E1E1E2E2E2E2E2E3E3E3E3E4E4E4E4E4E5E5
E5E5E5E6E6E6E6E6E7E7E7E7E7E8E8E8E8E9E9E9E9E9EAEAEAEAEAEBEBEBEBEBECECECECECEDEDED
EDEEEEEEEEEEEFEFEFEFEFF0F0F0F0F0F1F1F1F1F1F2F2F2F2F3F3F3F3F3F4F4F4F4F4F5F5F5F5F5
F6F6F6F6F6F7F7F7F7F8F8F8F8F8F9F9F9F9F9FAFAFAFAFAFBFBFBFBFBFCFCFCFCFDFDFDFDFDFEFE
FEFEFEFFFFFF
>
0
1 %_Br
<
E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBE
BDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A99989796
9594939291908F8E8D8C8B8A898887868584838281807F7E7D7C7B7A797877767574737271706F6E
6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A49484746
4544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E
1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403020100
>
<
E5E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9EAEAEAEA
EAEAEAEAEAEBEBEBEBEBEBEBEBEBECECECECECECECECECEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEE
EEEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F3F3F3
F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7
F7F7F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFCFC
FCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFF
>
<
00010203040405060708090A0B0C0C0D0E0F10111213141415161718191A1B1C1D1D1E1F20212223
242525262728292A2B2C2D2D2E2F30313233343535363738393A3B3C3D3D3E3F4041424344454546
4748494A4B4C4D4E4E4F50515253545556565758595A5B5C5D5E5E5F60616263646566666768696A
6B6C6D6E6E6F70717273747576767778797A7B7C7D7E7F7F80818283848586878788898A8B8C8D8E
8F8F90919293949596979798999A9B9C9D9E9F9FA0A1A2A3A4A5A6A7A7A8A9AAABACADAEAFAFB0B1
B2B3B4B5B6B7B8B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C8C9CACBCC
>
0
1 %_Br
[
0 0.04 1 0 1 50 100 %_Bs
0 1 0.8 0 1 50 50 %_Bs
0.9 0.9 0 0 1 50 0 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Rainbow)
(Rainbow) 0 6 Bd
[
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
1
0
0
1 %_Br
1
<
0708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E
2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556
5758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E
7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6
A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE
CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6
F7F8F9FAFBFCFDFEFF
>
0
0
1 %_Br
1
<
00000000000000000000000000000000000001010101010101010101010101010101010101010101
01010101010101010101010101010202020202020202020202020202020202020202020202020202
02020202020202020202030303030303030303030303030303030303030303030303030303030303
03030303030304040404040404040404040404040404040404040404040404040404040404040404
04040505050505050505050505050505050505050505050505050505050505050505050505050606
06060606060606060606060606060606060606060606060606060606060606060606070707070707
07070707070707070707070707070707
>
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
0
1 %_Br
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
0
1
0
1 %_Br
0
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
1
0
1 %_Br
[
0 1 0 0 1 50 100 %_Bs
1 1 0 0 1 50 80 %_Bs
1 0.0279 0 0 1 50 60 %_Bs
1 0 1 0 1 50 40 %_Bs
0 0 1 0 1 50 20 %_Bs
0 1 1 0 1 50 0 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Steel Bar)
(Steel Bar) 0 3 Bd
[
0
0
0
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
1 %_Br
0
0
0
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
1 %_Br
[
0 0 50 100 %_Bs
1 0 50 70 %_Bs
0 0 50 0 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (White & Red Radial)
(White & Red Radial) 1 18 Bd
[
0
1
1
0
1 %_Br
0
1
1
0
1 %_Br
0
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
0
1 %_Br
0
0
0
0
1 %_Br
0
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
0
1 %_Br
0
1
1
0
1 %_Br
0
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
0
1 %_Br
0
0
0
0
1 %_Br
0
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
0
1 %_Br
0
1
1
0
1 %_Br
0
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
0
1 %_Br
0
0
0
0
1 %_Br
0
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
0
1 %_Br
0
1
1
0
1 %_Br
0
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
<
FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8
D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0
AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988
87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160
5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938
37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110
0F0E0D0C0B0A09080706050403020100
>
0
1 %_Br
0
0
0
0
1 %_Br
0
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
0
1 %_Br
[
0 1 1 0 1 50 0 %_Bs
0 1 1 0 1 50 0 %_Bs
0 1 1 0 1 50 12.5 %_Bs
0 0 0 0 1 50 12.5 %_Bs
0 0 0 0 1 50 25 %_Bs
0 1 1 0 1 50 25 %_Bs
0 1 1 0 1 50 37.5 %_Bs
0 0 0 0 1 50 37.5 %_Bs
0 0 0 0 1 50 50 %_Bs
0 1 1 0 1 50 50 %_Bs
0 1 1 0 1 50 62.5 %_Bs
0 0 0 0 1 50 62.5 %_Bs
0 0 0 0 1 50 75 %_Bs
0 1 1 0 1 50 75 %_Bs
0 1 1 0 1 50 87.5 %_Bs
0 0 0 0 1 50 87.5 %_Bs
0 0 0 0 1 50 100 %_Bs
0 1 1 0 1 50 100 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Yellow & Orange Radial)
(Yellow & Orange Radial) 1 2 Bd
[
0
<
0001010203040506060708090A0B0C0C0D0E0F10111213131415161718191A1B1C1D1D1E1F202122
232425262728292A2B2B2C2D2E2F303132333435363738393A3B3C3D3E3E3F404142434445464748
494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60606162636465666768696A6B6C6D6E6F
707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C
>
<
FFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9
F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2
F2F2F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEDEDEDEDEDEDECECECECECEBEBEBEBEB
EBEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E6E6E6E6E6E5
>
0
1 %_Br
[
0 0 1 0 1 52 19 %_Bs
0 0.55 0.9 0 1 50 100 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Yellow & Purple Radial)
(Yellow & Purple Radial) 1 2 Bd
[
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
<
1415161718191A1B1C1D1E1F1F202122232425262728292A2A2B2C2D2E2F30313233343536363738
393A3B3C3D3E3F40414142434445464748494A4B4C4D4D4E4F50515253545556575858595A5B5C5D
5E5F60616263646465666768696A6B6C6D6E6F6F707172737475767778797A7B7B7C7D7E7F808182
83848586868788898A8B8C8D8E8F90919292939495969798999A9B9C9D9D9E9FA0A1A2A3A4A5A6A7
A8A9A9AAABACADAEAFB0B1B2B3B4B4B5B6B7B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C9CACBCB
CCCDCECFD0D1D2D3D4D5D6D7D7D8D9DADBDCDDDEDFE0E1E2E2E3E4E5E6E7E8E9EAEBECEDEEEEEFF0
F1F2F3F4F5F6F7F8F9F9FAFBFCFDFEFF
>
<
ABAAAAA9A8A7A7A6A5A5A4A3A3A2A1A1A09F9F9E9D9D9C9B9B9A9999989797969595949393929191
908F8F8E8D8D8C8B8B8A8989888787868585848383828181807F7F7E7D7D7C7B7B7A797978777776
7575747373727171706F6F6E6D6D6C6B6B6A6969686767666565646362626160605F5E5E5D5C5C5B
5A5A5958585756565554545352525150504F4E4E4D4C4C4B4A4A4948484746464544444342424140
403F3E3E3D3C3C3B3A3A3938383736363534343332323130302F2E2E2D2C2C2B2A2A292828272626
25242423222121201F1F1E1D1D1C1B1B1A1919181717161515141313121111100F0F0E0D0D0C0B0B
0A090908070706050504030302010100
>
0
1 %_Br
[
0 0.08 0.67 0 1 50 14 %_Bs
1 1 0 0 1 50 100 %_Bs
BD
%AI5_EndGradient
%AI5_BeginGradient: (Yellow, Violet, Orange, Blue)
(Yellow, Violet, Orange, Blue) 0 4 Bd
[
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
>
<
A1A1A1A1A2A2A2A2A3A3A3A3A4A4A4A4A4A5A5A5A5A6A6A6A6A7A7A7A7A8A8A8A8A9A9A9A9AAAAAA
AAAAABABABABACACACACADADADADAEAEAEAEAFAFAFAFB0B0B0B0B0B1B1B1B1B2B2B2B2B3B3B3B3B4
B4B4B4B5B5B5B5B6B6B6B6B6B7B7B7B7B8B8B8B8B9B9B9B9BABABABABBBBBBBBBCBCBCBCBCBDBDBD
BDBEBEBEBEBFBFBFBFC0C0C0C0C1C1C1C1C2C2C2C2C2C3C3C3C3C4C4C4C4C5C5C5C5C6C6C6C6C7C7
C7C7C8C8C8C8C8C9C9C9C9CACACACACBCBCBCBCCCCCCCCCDCDCDCDCECECECECECFCFCFCFD0D0D0D0
D1D1D1D1D2D2D2D2D3D3D3D3D4D4D4D4D4D5D5D5D5D6D6D6D6D7D7D7D7D8D8D8D8D9D9D9D9DADADA
DADADBDBDBDBDCDCDCDCDDDDDDDDDEDE
>
<
F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CF
CECDCCCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B4B3B2B1B0AFAEADACABAAA9
A8A7A6A5A4A3A2A1A09F9E9D9C9C9B9A999897969594939291908F8E8D8C8B8A8988878685848483
8281807F7E7D7C7B7A797877767574737271706F6E6D6C6C6B6A696867666564636261605F5E5D5C
5B5A59585756555454535251504F4E4D4C4B4A494847464544434241403F3E3D3C3C3B3A39383736
3534333231302F2E2D2C2B2A29282726252424232221201F1E1D1C1B1A191817161514131211100F
0E0D0C0C0B0A09080706050403020100
>
0
1 %_Br
<
9C9B9A9A9998989796969595949393929191908F8F8E8E8D8C8C8B8A8A8989888787868585848383
82828180807F7E7E7D7C7C7B7B7A797978777776757574747372727170706F6E6E6D6D6C6B6B6A69
6968676766666564646362626161605F5F5E5D5D5C5B5B5A5A595858575656555454535352515150
4F4F4E4D4D4C4C4B4A4A4948484746464545444343424141403F3F3E3E3D3C3C3B3A3A3939383737
36353534333332323130302F2E2E2D2C2C2B2B2A292928272726252524242322222120201F1E1E1D
1D1C1B1B1A191918171716161514141312121111100F0F0E0D0D0C0B0B0A0A090808070606050404
030302010100
>
<
F5F4F4F4F3F3F3F2F2F2F1F1F1F0F0F0EFEFEFEEEEEEEDEDEDECECECEBEBEAEAEAE9E9E9E8E8E8E7
E7E7E6E6E6E5E5E5E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DFDFDEDEDEDDDDDDDCDCDCDBDBDBDADADA
D9D9D9D8D8D8D7D7D7D6D6D6D5D5D5D4D4D3D3D3D2D2D2D1D1D1D0D0D0CFCFCFCECECECDCDCDCCCC
CCCBCBCBCACACAC9C9C8C8C8C7C7C7C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C1C1C1C0C0C0BFBFBFBE
BEBEBDBDBCBCBCBBBBBBBABABAB9B9B9B8B8B8B7B7B7B6B6B6B5B5B5B4B4B4B3B3B3B2B2B1B1B1B0
B0B0AFAFAFAEAEAEADADADACACACABABABAAAAAAA9A9A9A8A8A8A7A7A6A6A6A5A5A5A4A4A4A3A3A3
A2A2A2A1A1A1
>
<
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627
28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F
505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677
78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F
A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7
C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
F0F1F2F3F4F5
>
<
03030303030202020202020202020202020202020202020202020202020202020202020202020202
02020202020202020202020202020202020202020202020202020202020202020202020202020202
02020202020202020202020202020202020202020201010101010101010101010101010101010101
01010101010101010101010101010101010101010101010101010101010101010101010101010101
01010101010101010101010101010101010101010101010101010101010101010101010101000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000
>
1 %_Br
<
0D0D0E0F0F10101111121313141415161617171819191A1A1B1C1C1D1D1E1E1F2020212122232324
2425262627272828292A2A2B2B2C2D2D2E2E2F30303131323333343435353637373838393A3A3B3B
3C3D3D3E3E3F3F404141424243444445454647474848494A4A4B4B4C4C4D4E4E4F4F505151525253
54545555565757585859595A5B5B5C5C5D5E5E5F5F60616162626363646565666667686869696A6B
6B6C6C6D6E6E6F6F70707172727373747575767677787879797A7B7B7C7C7D7D7E7F7F8080818282
8383848585868687878889898A8A8B8C8C8D8D8E8F8F90909192929393949495969697979899999A
9A9B9C
>
<
08090A0B0C0D0E0F0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E
2F303132333435363738393A3B3C3D3E3F40404142434445464748494A4B4C4D4E4F505152535455
565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717172737475767778797A7B7C
7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A2A3
A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB
CCCDCECFD0D1D2D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2
F3F4F5
>
<
F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCB
CAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A7A6A5A4A3
A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A898887868584838281807F7E7D7C7B
7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A59585756555453
5251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B
2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403
020100
>
<
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000101010101010101010101010101010101010101010101010101010101010101
01010101010101010101010101010101010101010101010101010101010101010101010101010101
01010101010101010101010101010101010101010101010202020202020202020202020202020202
02020202020202020202020202020202020202020202020202020202020202020202020202020202
02020202020202020202020202020202020202020202020202020202020202020202020202020303
030303
>
1 %_Br
[
1 0.87 0 0 1 50 95 %_Bs
0 0.63 0.96 0 1 50 65 %_Bs
0.61 0.96 0 0.01 1 50 35 %_Bs
0.05 0.03 0.95 0 1 50 5 %_Bs
BD
%AI5_EndGradient
%AI5_End_NonPrinting--
%AI5_BeginPalette
0 0 Pb
0 0 0 0 k
Pc
0 0 0 1 k
Pc
0 0.45 0.6 0 k
Pc
0 0.5 0.05 0 k
Pc
0 0.9 1 0 k
Pc
1 0.2 1 0 k
Pc
1 0.4 0.15 0 k
Pc
0.2 0 1 0 k
Pc
0.25 1 0.25 0 k
Pc
0.4 0.4 0.4 0 k
Pc
0.4 0.7 1 0 k
Pc
0.75 0.9 0 0 k
Pc
1 0 0.55 0 (Aqua) 0 x
Pc
1 0.5 0 0 (Blue) 0 x
Pc
0.5 0.4 0.3 0 (Blue Gray) 0 x
Pc
0.8 0.05 0 0 (Blue Sky) 0 x
Pc
0.5 0.85 1 0 (Brown) 0 x
Pc
1 0.9 0.1 0 (Dark Blue) 0 x
Pc
1 0.55 1 0 (Forest Green) 0 x
Pc
0.05 0.2 0.95 0 (Gold) 0 x
Pc
0.75 0.05 1 0 (Grass Green) 0 x
Pc
0 0.45 1 0 (Orange) 0 x
Pc
0.15 1 1 0 (Red) 0 x
Pc
0.45 0.9 0 0 (Violet) 0 x
Pc
Bb
2 (Black, White) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
2 (Chrome) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
2 (Green, Blue) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
2 (Orange, Green, Violet) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
2 (Pink, Yellow, Green ) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
2 (Purple, Red, Yellow) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
2 (Rainbow) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
2 (Steel Bar) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
0 0 0 0 Bh
2 (White & Red Radial) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
0 0 0 0 Bh
2 (Yellow & Orange Radial) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
0 0 0 0 Bh
2 (Yellow & Purple Radial) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
Bb
2 (Yellow, Violet, Orange, Blue) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
(Arrow1.2.out/in) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Arrow1.2.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Bricks) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Checks) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Confetti) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(DblLine1.2.inner) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(DblLine1.2.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(DblLine1.2.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Diamonds) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Hexagon) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Laurel.inner) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Laurel.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Laurel.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Leaves-fall) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Polka dots) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Random circles) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Rope.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Scales) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(SolidStar.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Stars) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Stripes) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(TriBevel.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(TriBevel.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
(Waves-scroll) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
1 1 1 1 k
Pc
1 g
Pc
0 g
Pc
0.75 g
Pc
0.5 g
Pc
0.25 g
Pc
0 g
Pc
Bb
2 (Black & White) -4220 4422 0 0 1 0 0 1 0 0 Bg
0 BB
Pc
0.25 0 0 0 k
Pc
0.5 0 0 0 k
Pc
0.75 0 0 0 k
Pc
1 0 0 0 k
Pc
0.25 0.25 0 0 k
Pc
0.5 0.5 0 0 k
Pc
0.75 0.75 0 0 k
Pc
1 1 0 0 k
Pc
0 g
Pc
0 0.25 0 0 k
Pc
0 0.5 0 0 k
Pc
0 0.75 0 0 k
Pc
0 1 0 0 k
Pc
0 0.25 0.25 0 k
Pc
0 0.5 0.5 0 k
Pc
0 0.75 0.75 0 k
Pc
0 1 1 0 k
Pc
0 g
Pc
0 0 0.25 0 k
Pc
0 0 0.5 0 k
Pc
0 0 0.75 0 k
Pc
0 0 1 0 k
Pc
0.25 0 0.25 0 k
Pc
0.5 0 0.5 0 k
Pc
0.75 0 0.75 0 k
Pc
1 0 1 0 k
Pc
(Yellow Stripe) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p
Pc
0.25 0.125 0 0 k
Pc
0.5 0.25 0 0 k
Pc
0.75 0.375 0 0 k
Pc
1 0.5 0 0 k
Pc
0.125 0.25 0 0 k
Pc
0.25 0.5 0 0 k
Pc
0.375 0.75 0 0 k
Pc
0.5 1 0 0 k
Pc
0 0.25 0.125 0 k
Pc
0 0.5 0.25 0 k
Pc
0 0.75 0.375 0 k
Pc
0 1 0.5 0 k
Pc
0 0.125 0.25 0 k
Pc
0 0.25 0.5 0 k
Pc
0 0.375 0.75 0 k
Pc
0 0.5 1 0 k
Pc
0.125 0 0.25 0 k
Pc
0.25 0 0.5 0 k
Pc
0.375 0 0.75 0 k
Pc
0.5 0 1 0 k
Pc
0.25 0 0.125 0 k
Pc
0.5 0 0.25 0 k
Pc
0.75 0 0.375 0 k
Pc
1 0 0.5 0 k
Pc
0.25 0.125 0.125 0 k
Pc
0.5 0.25 0.25 0 k
Pc
0.75 0.375 0.375 0 k
Pc
1 0.5 0.5 0 k
Pc
0.25 0.25 0.125 0 k
Pc
0.5 0.5 0.25 0 k
Pc
0.75 0.75 0.375 0 k
Pc
1 1 0.5 0 k
Pc
0.125 0.25 0.125 0 k
Pc
0.25 0.5 0.25 0 k
Pc
0.375 0.75 0.375 0 k
Pc
0.5 1 0.5 0 k
Pc
0.125 0.25 0.25 0 k
Pc
0.25 0.5 0.5 0 k
Pc
0.375 0.75 0.75 0 k
Pc
0.5 1 1 0 k
Pc
0.125 0.125 0.25 0 k
Pc
0.25 0.25 0.5 0 k
Pc
0.375 0.375 0.75 0 k
Pc
0.5 0.5 1 0 k
Pc
0.25 0.125 0.25 0 k
Pc
0.5 0.25 0.5 0 k
Pc
0.75 0.375 0.75 0 k
Pc
1 0.5 1 0 k
Pc
PB
%AI5_EndPalette
%%EndSetup
%AI5_BeginLayer
1 1 1 1 0 0 0 79 128 255 Lb
(\203\214\203C\203\204\201| 1) Ln
0 A
0 O
0 g
800 Ar
2 J 0 j 1 w 2 M []0 d
%AI3_Note:
0 D
0 XR
101.7998 199.2002 m
106.2998 199.1001 111.2998 198.5 115.7998 197.8999 C
115.7998 197.7998 L
122.2998 196.2998 129.7998 194.7998 135.7998 191.6001 C
131.5 191.2002 127.8999 190.8999 124.1001 191.8999 C
122 189.7002 119.2002 194.1001 117.7002 190.7998 C
117 191.2002 115.5 192.3999 115.2002 191.2998 C
114.7998 191.1001 114.5 190.1001 113.8999 190.2998 C
112.3999 191.2002 112.1001 193.7998 110.3999 194 C
109.8999 193.1001 110.2002 192.3999 110.3999 191.7998 C
108.5 190.1001 107.7998 193.1001 106.2998 193.8999 C
105.3999 193.2998 105.5 193.1001 105.3999 192.1001 C
104.2002 192.1001 102.7002 193 102 193.7002 C
101.3999 192.2002 100.3999 192.5 99.2002 193 C
96.7998 195.1001 L
95.2002 195.2002 96.2998 193.5 95.6001 193 C
94.2998 193.1001 92.8999 194.1001 92.2002 195.3999 C
91.7998 195.2998 90.8999 195.7002 91 194.7998 C
91.2998 193.6001 91.2002 193.7998 90.7998 193 C
89 192.3999 87.7998 196 86.6001 193.2002 C
85.2002 192.6001 84.3999 194 82.8999 194 C
83.1001 193.1001 82 193.1001 81.3999 193 C
80.8999 193.1001 80.2002 193.2998 79.6001 193.6001 C
79 193.7998 78.6001 194.7002 77.7998 194.5 C
77.7002 193.7002 77.2002 193.2002 77.5 192.3999 C
76.3999 192.1001 75.2998 192.2002 74.2002 193.2002 C
72.8999 193.2002 73.6001 191.2002 72.3999 191.3999 C
71.7998 191 71.2002 191.5 70.3999 191.8999 C
69.7002 192.2002 69.2998 191.3999 69.2002 190.8999 C
68.5 190.3999 67.1001 189.5 65.8999 190.2998 C
65.6001 190.6001 L
64.2998 187.7998 60.6001 190 58.6001 187.7002 C
58.2998 186.2002 56.8999 187.8999 55.7998 187.6001 C
52.8999 186.1001 51.6001 182 48 183.1001 C
47.7998 182.7998 L
47.6001 182.8999 L
42.1001 178.6001 36.1001 175.5 30.7998 171.2002 C
30.7998 171.6001 L
32.2002 172.7002 33.1001 174.2002 34.3999 175 C
35.2002 175.7998 36.7998 176.7002 37.7002 177.7998 C
37.7002 177.7002 L
38.3999 178.1001 39.3999 179.6001 40.2998 180 C
40.3999 179.8999 L
42 181.3999 44.8999 182.5 46.6001 184.1001 C
47.7002 184.3999 48.6001 185.2998 49.6001 185.6001 C
49.5 186.1001 50.1001 186.2998 50.3999 186.2002 C
50.2998 186.3999 L
52.3999 187.7998 55.2998 188.7998 56.8999 190 C
57.2002 189.7002 57.7002 189.8999 58 190.2002 C
58.5 190.5 59.5 191.1001 60.3999 191 C
61.3999 192.6001 63.5 192.3999 64.8999 193.1001 C
64.8999 193.2998 L
65.6001 193.2998 L
65.6001 193.6001 L
67.8999 194.1001 69.8999 194.8999 72.2002 195.3999 C
72.6001 195.7002 L
77.1001 196.3999 81.1001 197.7998 85.3999 198.3999 C
85.8999 198.3999 86.2998 198 86.6001 198.6001 C
86.6001 198.5 L
90.6001 198.7998 94 199.2998 98.2002 199.3999 C
99.2002 199 100.7002 199.2998 101.7998 199.2002 C
f
151.8999 193.7002 m
151.6001 192.6001 152.5 193.2998 152.5 192.5 C
152.2998 190.7002 152.3999 189.3999 153.6001 187.8999 C
153.7998 187.7002 L
154 187.5 155.3999 187.6001 155.8999 187.6001 C
161.2002 188.8999 167 187.8999 171.7002 188.5 C
171.7002 188.3999 L
173.6001 188 176.5 189.2002 178.1001 187.6001 C
178.2998 187.7998 L
179 186.8999 179.5 185.7998 179 184.7998 C
179.2998 183 179.2002 181.8999 179.2002 180.2002 C
179.2998 179.6001 178.7002 178.5 179.2998 178 C
179.6001 177.5 178.6001 177.1001 179.2998 176.6001 C
178.7002 175.6001 178.7998 174.5 179.2002 173.2998 C
179 173.2998 L
178.7002 171 179 169 178.8999 166.2998 C
178.5 166 177.7998 165 176.8999 165 C
176 165.2998 174.5 165.2002 174.3999 166.2998 C
174.5 167.1001 174.1001 168.2002 173.8999 168.7002 C
173.7998 170.5 174 172.6001 173.7998 174.6001 C
173.8999 174.6001 L
173.8999 181.2002 L
170.7002 183.7998 166.5 182.2998 163 182.5 C
161.2998 180.5 160.6001 176.3999 161.2998 173.6001 C
161.6001 173.5 L
160.5 173.1001 161.7998 172.7002 161.6001 172 C
162 169.7998 161.7002 168.7998 161.6001 166.3999 C
160.8999 165.7002 160.2002 165.1001 159.2002 164.6001 C
158.2002 164.7998 156.7002 165.3999 156.1001 166.7002 C
156.2998 167.3999 155.8999 168.1001 155.5 168.5 C
155.6001 170.1001 155.3999 172.1001 156 173.6001 C
155.5 174.2002 156.6001 174.8999 155.7998 175.2002 C
156.1001 175.7002 L
156.1001 180.3999 L
155.2998 181.2998 155.3999 182.3999 154 182.8999 C
152.5 183.5 151.1001 182.7002 149.5 182.6001 C
147.6001 182.7002 145.8999 183.3999 144.3999 182.2002 C
141.6001 179.5 142.8999 174.6001 143.2998 171.6001 C
143.2002 169.5 143.7998 167 142.2002 165.3999 C
141.3999 164.7002 140.2998 164.5 139.3999 164.6001 C
138 165.2002 139.6001 166.6001 138.2002 167.3999 C
138.2002 167.7998 139 168.2002 138.2002 168.5 C
138.3999 170.7998 138.5 173.3999 138 175.3999 C
138.2002 175.3999 L
138.2998 176.2998 138.2002 176.2002 138.1001 177.1001 C
138 177.1001 L
138.6001 178 137.2998 178.6001 137.7998 179.7998 C
137.3999 179.8999 L
137.5 179.8999 L
137.2002 180.6001 137.2002 181.5 136.7002 182.2002 C
133.5 181.7002 127 184.1001 125.5 179.2002 C
125.7002 177.8999 125.2002 175.6001 125.5 173.7998 C
125.3999 171.2002 125.2998 167.8999 125.2002 166.2002 C
125.2998 166.2998 L
125 166.6001 125.6001 164.7998 124.3999 165 C
123.5 164.5 121.8999 164.5 121 165 C
120.3999 166.1001 120.7998 168 120 169 C
120.2998 172.6001 119.3999 175.6001 120.3999 178.8999 C
120 178.7998 L
120.2002 179.7002 119.7998 180.2002 120.5 181.2002 C
120.5 183.3999 120.5 183.6001 120.5 186 C
121 186.6001 121.3999 186.2002 121.7998 187.1001 C
121.7998 187 L
122.5 188.5 123.8999 187 125.2002 187.1001 C
131.2002 187.8999 136.7002 187.2998 142.1001 187.8999 C
143.5 188.2002 144.8999 187.6001 146.2998 188.2998 C
146.3999 189.2002 146.6001 190.1001 146.8999 190.6001 C
146.7002 190.6001 147.2002 192.2002 147 192.6001 C
147.3999 193.3999 147.8999 194.2002 148.8999 194.7998 C
150.1001 195.2002 151.2998 194.1001 151.8999 193.7002 C
f
87.7002 185.2998 m
88.2998 184.7002 88.2998 184 88.1001 183.3999 C
87.6001 181.1001 L
87.7998 180.7998 87.6001 180 87.7002 179.6001 C
87.6001 179.7998 L
87 178.3999 87.2002 177.1001 87 175.7998 C
86.7002 174.8999 87.2998 174 86.6001 173.2002 C
86.8999 171.7998 86.6001 170.5 86.8999 169.3999 C
87.2998 168.8999 87 167.5 87.5 166.8999 C
87.7998 166.5 88.7998 166.5 88.8999 167.3999 C
88.8999 168.6001 L
89.1001 168.5 89.2002 168.7002 89.2998 168.7998 C
89 169.1001 L
89.6001 169.1001 88.8999 170 89.2002 170.3999 C
88.7998 170.7998 L
89.7998 170.7998 88.8999 171.6001 89.2998 172.1001 C
89 172.2998 L
89.7002 172.7002 89.2002 173.5 89.8999 173.8999 C
89.6001 174.5 L
89.7998 174.3999 89.7998 174.5 89.8999 174.6001 C
89.3999 176 90.6001 177.8999 90.7002 179.2998 C
91.1001 180.8999 92.2998 183.1001 92.5 184.2998 C
93.1001 185 L
93.5 184.7002 L
93.2998 182 92.8999 178.7998 92.8999 176.2002 C
92.3999 174.5 92.7002 173.3999 93.1001 172 C
93.3999 172 L
93 171.6001 L
93.8999 171.1001 93.5 172 94.1001 172.2998 C
93.3999 173.1001 95.1001 173.3999 94.3999 174.2002 C
94.3999 174.1001 94.5 174.1001 94.6001 174 C
94.5 174.7002 95.7002 175.7002 95.2998 177 C
96.3999 177.1001 94.8999 178.5 96.2002 178.6001 C
96.3999 179.8999 L
96.6001 179.6001 L
96.7002 181.1001 97.2998 181.7998 98 183.1001 C
97.6001 183.7002 98.5 184 98.5 184.3999 C
99 184.3999 L
99.1001 182.5 98.8999 180.8999 98.8999 179.2998 C
98.2998 177.5 98.7998 174.8999 98.2002 173.2002 C
98.5 172.6001 98.7998 172.2998 99.6001 172.2998 C
99.8999 173.5 100.5 174.2998 100.3999 175.2998 C
101.2998 175.8999 101.2002 177.6001 101.5 178.2998 C
101.7002 178.5 102 178.2998 102.1001 178.6001 C
101.7998 179.3999 102.7002 180.7002 103.2002 181.3999 C
102.8999 182.3999 103.7998 182.5 103.7998 183.2002 C
103.7998 181.7002 104.7998 180.6001 103.7998 179.3999 C
104.1001 177.2998 103.2998 175.7002 104.2998 173.7998 C
104.6001 174 105 174.1001 104.8999 174.6001 C
104.8999 174.3999 105.2002 174.3999 105.2002 174.6001 C
105.3999 175 105.2998 175.6001 105.3999 176 C
105.5 175.8999 L
105.8999 176.2002 105.7002 177.2998 106 178 C
106.2002 177.8999 106.3999 178.1001 106.2998 178.2998 C
106.3999 178.6001 107.1001 179.2002 107 179.5 C
107.2002 179.3999 L
107.2002 180.1001 108.2998 180.1001 108.2002 181.1001 C
108.6001 181.7002 L
108.7998 181.3999 109 180.7002 109.3999 180.1001 C
108.7002 180 109.3999 179.2998 108.7998 179.2998 C
109 177.2998 107.6001 175.1001 108.7002 173.7998 C
108.3999 173.5 108.8999 173.2002 109.1001 173 C
109.7998 173.7002 110.6001 175 111.1001 176 C
111 176.7002 111.7998 177.2002 111.7002 177.7998 C
112.2998 177.7998 L
112.6001 179.5 L
112.6001 179.2998 L
112.8999 179.3999 113 180.1001 113.3999 180.6001 C
113.3999 180.5 L
113.7998 180.8999 114.5 180.2002 114.2002 179.7998 C
113.6001 178.3999 113.5 176.7998 113 175.2998 C
113.1001 174.3999 113.1001 173.6001 112.6001 172.8999 C
113.3999 172.2002 L
113.7002 172.5 114.2002 172.8999 113.8999 173.2998 C
115 173.3999 114.5 174.1001 115.2998 174.7998 C
115.3999 175.2002 116.2002 175.6001 116.2002 176.3999 C
116.5 172.2998 115.8999 168.2998 116.2998 164 C
116 163.7998 L
113.2998 165.8999 109 165.7002 105.5 165.7002 C
98 163.1001 91.5 155.5 82.8999 159.1001 C
80.2002 161.8999 77.6001 167.5 72.5 165.7002 C
65.2998 163.8999 58.5 157.2002 50.8999 154.7002 C
46.8999 153.7998 43.2998 151.8999 39.5 151.7998 C
35.6001 152.5 30.3999 152.8999 28 149.6001 C
27.6001 148 26.5 145.8999 26.7998 144.1001 C
25.8999 141.5 24.3999 139.5 22 139.1001 C
17.2002 137.2002 13.6001 133.3999 9.2002 130.7002 C
9 131 9.2998 131.7002 8.7998 131.8999 C
9.5 132.7998 L
9.7998 133 9.5 134.2002 10.3999 134.3999 C
10.1001 134.7998 L
10.8999 135 12.2998 134.7002 12.6001 135.7998 C
12.5 138.1001 L
12.6001 138.1001 L
12.6001 138.3999 L
13 138.3999 L
12.5 139 13.1001 138.2002 13.2002 139.1001 C
13.5 139.7998 12.5 140.7002 13.7002 141 C
14.2998 140.6001 14.7002 140.7998 15.5 141 C
16.1001 141.3999 15.7998 142.8999 15.7002 143.2998 C
14.7002 144 16 144.2998 16.2998 145.1001 C
17 144.7998 16.8999 143.7002 17.7998 144.2002 C
17.7998 144.1001 17.7002 143.8999 17.8999 143.8999 C
18.1001 144.2002 18.7998 144.5 18.7002 145.2002 C
18.5 146.3999 18.2002 147.8999 19.1001 148.7002 C
19.6001 147.8999 20.5 147.7002 20.6001 146.8999 C
21 146.8999 L
21.2002 149 L
21.3999 148.8999 L
21.3999 150.1001 21 149.3999 21.7998 150.5 C
21.3999 151.1001 L
21.7002 150.8999 21.7002 151.2998 21.7998 151.3999 C
21.6001 151.7998 21.6001 152.2002 21.7002 152.6001 C
21.7998 151.2998 22.7998 151.6001 23.2002 150.5 C
23.6001 150.3999 24.5 150.3999 24.5 151.2002 C
25.2002 151.8999 24.1001 152.7002 24.5 153.6001 C
24.1001 154 L
24.2002 154 L
24.3999 155.8999 L
25 155.6001 25.7998 153.1001 27 153.7002 C
27.2998 154.2998 27.1001 155.2002 27.3999 155.7998 C
26.8999 156.7002 27.2998 157.5 27.1001 158.7998 C
27.3999 158.2998 L
27.6001 158.5 L
28 158 L
27.7998 157.8999 L
29 156.5 L
28.8999 156.3999 L
29.3999 155.8999 L
30.2998 157 29.7002 159.3999 29.8999 160.8999 C
31.2998 159 L
31.3999 159.1001 L
31.2002 158.5 32.3999 158.2002 32.6001 157.7002 C
33.3999 158.2998 L
32.8999 158.7998 33.2998 161.1001 32.5 161.6001 C
32.8999 162.5 32.1001 162.6001 32 163.3999 C
32.2002 163.2998 L
32.3999 163.5 32.2002 163.8999 32.2998 164.2002 C
32 164.2002 L
32 164.8999 L
32.3999 164.2998 L
32.6001 164.7998 L
32.6001 163.2998 33.8999 163.7002 34.1001 162.3999 C
34.2002 162.5 L
34.5 161.1001 35.3999 160.3999 35.8999 159.1001 C
35.8999 158.5 36.2998 157.8999 36.7998 157.7998 C
37.8999 158.3999 37.2998 159.7998 37.2998 160.8999 C
37.2998 161.5 L
37.2002 161.3999 L
36.6001 161.7998 37.5 163.6001 36.3999 164 C
36.3999 167.2998 L
36.6001 166.7998 36.5 166.6001 36.7002 166.1001 C
36.8999 166.1001 36.7998 166.2998 36.7998 166.3999 C
38.7998 163.8999 39.2002 160.8999 42 159.1001 C
42.5 160.2002 41.7998 162.3999 41.3999 163.7998 C
41.2002 163.7002 41.2998 163.3999 41.2998 163.2002 C
41.7002 164.7002 40.5 165.5 40.6001 167 C
40.1001 167.2002 40.5 167.5 40.6001 167.7998 C
40 168.2002 40 169.2998 40.1001 169.8999 C
41.3999 170.3999 41 168.2002 41.8999 168.1001 C
42 167.2998 42.3999 166.7998 43 166.3999 C
43.2998 166.2002 42.3999 165.2002 43.3999 165.3999 C
43.1001 165 43.7998 164.7998 43.7998 164.5 C
44 164.5 L
44.2002 163.7002 45.5 161.7998 46.2002 161.5 C
46.2002 160.8999 46.7998 160.6001 47.2998 160.2998 C
47.8999 160.7998 47.5 161.7998 47.7998 162.1001 C
47.2002 162.3999 47.7998 162.7998 47.3999 163.2002 C
47.5 163.2002 L
47.2002 164.1001 46.6001 164.2998 47 165.3999 C
46 165.2002 47 166.2998 46.2002 166.7002 C
46.2998 167.3999 45.3999 168.8999 45 169.7002 C
44.7002 170.7998 45.2998 172.1001 44.8999 173 C
45.2002 173.1001 45.3999 173.3999 45.6001 173.6001 C
45.7998 173 L
46.1001 173.2998 L
45.7998 172.2998 47.1001 172 46.7998 171 C
47.5 170.1001 47.7002 169.3999 48.5 168.1001 C
48.1001 167.5 49.3999 167.2998 49.2998 167 C
49.3999 167.2002 49.3999 165.3999 49.8999 166.1001 C
50.7002 165.1001 50.7998 163.2002 52.1001 162.7002 C
52.6001 162.7002 52.6001 163.7002 52.6001 164 C
51.6001 165.5 52.3999 167.7002 51.5 169.3999 C
51.3999 170.6001 50.7002 172.2998 51.1001 173.2002 C
50.8999 173.3999 L
51.2998 173.8999 50.6001 175.1001 51 175.8999 C
52.6001 175.8999 52.6001 173.7002 53.7998 172.6001 C
53.7998 171.7002 53.8999 170.1001 55 169.2998 C
54.6001 169 55 168.7002 55.1001 168.3999 C
55.3999 168.2998 55.2998 167.3999 55.7998 167.2998 C
55.8999 166.8999 56 166.1001 56.8999 166.1001 C
57.1001 166.2998 57.7002 166.2998 57.5 166.7998 C
57.6001 166.7998 57.7002 166.7002 Y
58.1001 167 57.7998 167.2998 57.6001 167.5 C
57.7002 167.5 L
57.6001 167.8999 L
57.7002 167.8999 57.7998 167.7998 Y
57.7998 168.5 L
57.5 168.5 L
57.6001 168.1001 57.8999 169.2002 57.5 169.2998 C
57.5 169.7002 57.3999 170 57.2002 170.2998 C
57.3999 170.2002 L
57.1001 170.7002 57.5 171.1001 56.8999 171.6001 C
57 171.6001 L
57.5 173.3999 55.6001 175.2002 56.6001 177.1001 C
56.6001 177.8999 56.2002 178 56.5 178.7998 C
58.2002 179.5 57.7002 177.1001 58.2998 176.2998 C
58.3999 176.3999 L
58.7002 175.8999 58.7998 175 59.2002 174.7998 C
59.6001 174.2002 58.2002 173.5 59.3999 173 C
59.5 173.2002 L
59.5 172.6001 60.7002 171.7998 60.5 171 C
60.8999 170.8999 60.7002 170.2002 61 169.8999 C
61.7998 169.1001 L
62.2998 169.2002 62.2002 169.7002 62.2998 170 C
61.8999 170.5 62.3999 170.8999 62.2002 171.5 C
62.2998 171.5 L
62.3999 172.1001 62.1001 173.1001 62.3999 173.8999 C
62 174.2002 L
62.8999 176.2002 61.7998 178.3999 62.2998 180.6001 C
62.7998 180.1001 62.8999 181.1001 63.3999 181 C
63.7002 179.3999 64.2002 178.2998 64.2998 176.6001 C
64.3999 176.7998 L
64.2002 175.6001 65.2002 174.2998 65.2998 172.8999 C
65.6001 172.8999 L
65.5 172.2998 65.7002 171.8999 65.8999 171.3999 C
66.2998 171.1001 67 171.6001 66.7002 172.1001 C
67 171.7998 L
67.2998 172.8999 67.2998 175.1001 67 176.2998 C
67.3999 177.3999 67.2002 178.7998 67.1001 180.1001 C
67.2002 180.1001 67.3999 180.1001 67.3999 180.2002 C
67.1001 180.5 67.8999 180.2998 67.7002 180.7998 C
67.7002 181.3999 L
67.8999 181.3999 68 181.7002 68.2002 181.7998 C
68.2002 182 67.6001 182.3999 68.2002 182.3999 C
69.1001 182 68.7002 180.5 69.5 179.5 C
69.3999 177 70.1001 175.6001 70.2002 173.2002 C
70.2998 173.1001 70.3999 173.2002 70.3999 173.2998 C
70.2998 173.2998 70.6001 172.7998 70.8999 172.6001 C
71.7002 172.6001 71.1001 172.6001 71.6001 172.3999 C
72.1001 173 72.1001 173.5 72.1001 174.2002 C
72.3999 174 L
72.6001 174.2002 L
72.2002 175 72.7998 176.3999 72.6001 177 C
73.1001 178.2998 72.7998 179.1001 73.6001 180.2002 C
73.2002 180.2002 L
73.6001 181 73.2002 182.5 74.2002 183 C
74.2002 183.7998 L
74.5 184.2002 74.8999 183.6001 75.2002 184 C
75.1001 182.2002 75.8999 180.2998 75.7002 178.3999 C
75.7002 178.6001 75.7998 178.7998 75.6001 178.8999 C
75 177.2002 76.1001 175.7002 76.1001 174 C
76.3999 173.7998 76.7002 173.6001 76.7998 173.2002 C
77.5 173.3999 77.2998 173.8999 77.5 174.6001 C
77.7002 174.6001 77.8999 174.5 78 174.7002 C
77.5 174.7998 77.8999 175.6001 78.1001 175.8999 C
77.8999 176 77.8999 176.2998 78.1001 176.3999 C
78.3999 177.3999 78.6001 178.2998 78.5 179.3999 C
78.6001 179.2998 L
79.2998 180.7002 79 181.7002 79.7998 182.7998 C
80 183.6001 80.7002 184.2998 80.7998 184.8999 C
81.1001 181 80.6001 176.7002 81 172.8999 C
81.1001 173 81.1001 173.1001 81.2002 173 C
81.1001 172.6001 81.2002 172.5 81.2002 172 C
81.1001 172.1001 81 172.1001 V
80.5 171.7002 81.3999 171.7002 81.2002 171.3999 C
81.1001 170.8999 81.3999 170.3999 81.5 169.8999 C
81.7998 169.7998 L
81.3999 169.6001 L
82.2002 168.7002 L
82 168.5 L
82.1001 168.3999 82.1001 168.2002 82.2998 168.2002 C
83.1001 168.6001 82.2998 169 82.8999 169.2998 C
83.2002 170.7998 83.3999 171.3999 83.5 172.6001 C
83.7998 173.6001 84.1001 174.3999 84.1001 175.3999 C
83.7002 176.1001 84.8999 176.5 84.5 177.3999 C
84.7998 178.7998 85.7998 180 85.7002 181.3999 C
85.7998 181.2998 L
86.1001 181.7002 86.2002 182.3999 86.2998 182.7998 C
86.5 183.3999 87.2998 184.1001 87.1001 185.2998 C
87.3999 184.8999 L
87.7002 185.2998 L
f
106.2002 162.7002 m
106.2998 159.5 105.3999 156.8999 106.7998 154.2998 C
108.5 153.1001 107.7002 155.6001 108.3999 156 C
108 156 L
108.3999 156.5 L
108.7002 157.2002 107.5 158.2002 108.2002 159 C
107.8999 160.7998 108.1001 161.7998 109.6001 162.7998 C
109.8999 159.7002 110.3999 158 110.5 154.7002 C
110.7998 154.7002 L
110.7002 154.1001 110.7002 153.2002 111.2002 152.8999 C
111.7998 152.7002 111.1001 151.8999 111.7998 151.8999 C
112.2002 152.2998 L
112 152.2998 112.1001 152.5 112.1001 152.6001 C
112.2002 152.5 L
112.2998 152.7998 113.1001 153.1001 112.3999 153.5 C
112.7998 153.5 L
112.7002 155.2002 113.5 157 113.2998 158.7998 C
113.7998 160.6001 L
113.3999 160.6001 L
114 161.2002 L
114.3999 160.3999 115.2998 160.7002 115.3999 160 C
115.7998 159.5 116.2998 158.7002 116.2998 158 C
116 156.7002 117 155.2002 116.2002 154 C
115.8999 150.7002 116.7998 148.8999 116 146 C
111.1001 148.7998 106 147.3999 101.2998 145.1001 C
96.2002 143.1001 92.1001 139.5 86.8999 140.3999 C
84.3999 140.2002 82.6001 141.8999 80.6001 143.2002 C
79.6001 144.3999 78.2998 146.7002 76.2002 146 C
72.1001 145.3999 70.6001 141.3999 67.6001 139.3999 C
67.3999 139 L
65.7998 136.8999 62.7998 135.2998 60.7002 134.2002 C
60.6001 134.2998 L
58.7002 133.2002 55.6001 132.1001 53.2998 131 C
52.6001 130.2998 50.2998 129.6001 49.6001 128.2998 C
47.8999 126.7002 46.7002 123.7998 47.3999 121.6001 C
46.5 119.6001 48.7002 118.8999 47.2998 117.2002 C
45.7002 113.7002 40.8999 112 38.2998 109.7002 C
36.1001 108.7998 34.7998 107.2998 33.7002 105.7002 C
33.8999 106.7002 32.7998 107.7002 33.7002 108.3999 C
33.7002 109 L
33.7998 109 34 109 34.1001 108.7998 C
33.7998 110.7998 36.3999 109.3999 35.7998 111.5 C
35.8999 111.5 L
35.8999 112.8999 L
36.8999 113.2002 38 113.1001 37.6001 114.3999 C
36.7002 114.6001 37.2998 115.8999 36.3999 116 C
36.2002 116.5 36.7002 116.6001 36.7998 116.8999 C
37.6001 117.2998 39.1001 115.7002 39.1001 117.2002 C
40 117.5 38.8999 118 39.1001 118.8999 C
38.7998 120.1001 L
39 119.8999 L
39.1001 120.5 L
40.1001 120.2998 40.7002 118.2998 41.6001 119.3999 C
41.3999 120 L
41.8999 120.1001 41.5 120.3999 41.7998 120.6001 C
40.8999 121 41.5 123.2998 40.8999 124.1001 C
40.7002 124.1001 L
40.7002 123.8999 41.3999 124.2998 41.2002 124.7002 C
41.8999 124.6001 42.6001 122.6001 43.6001 122.7998 C
42.7998 122.7998 44 124.3999 43.1001 124.7998 C
43 125 43.2002 125 43.2998 125.2002 C
43.2002 125.3999 43 125.2002 42.7998 125.2998 C
43.2002 126.7002 42.1001 127.2998 42.7998 128.6001 C
43.1001 128.6001 43.2998 128.7002 43.3999 128.8999 C
43.7002 128.6001 L
43.8999 129.1001 43.8999 128.7002 44.2998 128.6001 C
44.6001 128 44.2998 127.1001 45.2002 126.7998 C
45.1001 126.2998 45.7002 126.2002 46 126.1001 C
46.6001 126.1001 46.2998 126.7998 46.7002 127.1001 C
46.6001 127.5 45.7998 127.7002 46.3999 128 C
46.1001 129 46 130.6001 45.6001 131.3999 C
46.1001 131.6001 L
45.7002 131.8999 45.7002 132.7002 46.1001 133 C
46.7998 133.2998 47.6001 132.1001 48.2002 133.1001 C
48.1001 133.7002 48.3999 134.3999 48.5 134.8999 C
48.5 135.1001 48.3999 134.6001 48.6001 134.6001 C
48.6001 135.2002 49 136 48.3999 136.2998 C
48.5 136.2002 48.6001 136.2002 V
48.7002 136.2998 48.7002 136.3999 48.7002 136.6001 C
49.7002 136.2002 50.2002 135.1001 50.7998 134 C
51.2002 134.2002 L
51.2002 134 51.2998 134 51.3999 133.8999 C
51.8999 134.2002 51.7998 135.1001 52.1001 135.6001 C
51.6001 136.5 52.3999 136.8999 51.5 137.3999 C
52 138.7002 51.5 139.3999 51.5 140.6001 C
52.2002 140.7002 52.7998 140 52.7998 139.2998 C
53.2002 139.3999 L
53.1001 139.1001 53.3999 138.8999 53.2998 138.6001 C
53.6001 138 54.1001 138.7998 54.5 138.3999 C
55.2998 140.2998 54.5 140.7002 54.1001 142.3999 C
54.6001 142.5 54.1001 143.3999 54.7998 143.2998 C
54.7002 143.2002 L
55.5 142.2002 56.2998 141 56.7998 140 C
57.1001 140.2998 57.6001 139.2998 58 140 C
58 141.7002 57.8999 141.2998 58.1001 142.7002 C
58.2002 142.7002 L
57.7998 143.1001 58.5 143.8999 57.7998 144.3999 C
57.8999 144 58.7002 145.3999 58.1001 145.6001 C
58.1001 146 58.7998 145.7998 59 145.7002 C
59.1001 144.7002 60.1001 144.5 60 143.5 C
60.6001 143.2998 60.1001 141.2002 61.3999 142.2998 C
61.8999 143.6001 61.2998 144.7998 61.7002 146.3999 C
61.6001 146.3999 L
61.8999 147.3999 61.7002 148.2998 61.7998 149.7998 C
63.5 148.6001 63.2002 147.2998 64.3999 145.7998 C
65.2002 145.8999 64.8999 146.7002 65.2998 147.1001 C
65.2998 147.5 64.6001 148.2998 65 148.7002 C
64.6001 149 65 149.2998 65.2002 149.6001 C
65.2002 151.2998 L
65.2998 151.2998 65.3999 151.5 65.5 151.6001 C
65.6001 151.7002 65.3999 151.7998 65.2998 151.8999 C
65.5 152.2002 L
65.8999 151.3999 67.2998 150.7998 67 149.6001 C
67.6001 148.8999 67.7002 147.5 68.5 146.6001 C
68.7002 146.6001 68.8999 146.2002 69.1001 146.5 C
69.1001 146.7998 L
69.5 146.5 68.8999 145.8999 69.6001 146.2002 C
69.7002 146.6001 L
69.7998 146.5 L
69.7002 147.5 70.8999 147.8999 70.3999 148.8999 C
70 149.6001 L
70.1001 149.7998 70.6001 149.7002 70.3999 150.1001 C
70 149.6001 70.2998 150.6001 70.1001 150.7002 C
70.2002 150.6001 L
70.2998 150.7002 70.2998 150.7002 70.2998 150.7998 C
69.3999 151.2002 69.8999 152.8999 70.1001 153.7998 C
70.2002 154.1001 70.3999 154.2998 70.2998 154.7002 C
71.3999 154.7002 70.7998 153 71.7998 153 C
72.1001 152 72 150 73.2998 149.5 C
74.1001 150.1001 73.2998 151.2998 74 151.8999 C
73.7002 151.8999 L
74.5 152.5 74 153.7002 74.2002 154.7002 C
74.2998 154.6001 74.3999 154.7998 74.5 154.8999 C
74.5 155.2002 74.2002 155.1001 74.2002 155.3999 C
74.2002 155.7998 74.5 156 74.7998 156.3999 C
76 154.3999 75.2002 152.8999 76.7998 151.2002 C
77.7002 151.6001 77.5 151.8999 78 152.5 C
77.7998 154 77.6001 155.2998 78.2002 157 C
78.3999 156.7998 L
78.6001 157.2002 78.2998 157.6001 78.5 158 C
78.6001 157.2998 79.1001 157.1001 79.2002 156.5 C
79.6001 154.7998 79.6001 152.5 79.8999 150.7002 C
80 150.7998 L
80.7002 150.3999 79.7002 149.3999 80.8999 149.2998 C
81.3999 149.7002 81.2998 150.8999 81.2002 151.2002 C
81.3999 151.2002 81.6001 151.1001 81.7002 151.2998 C
81.3999 151.8999 L
82.2002 151.7002 81.7002 152.7002 81.7998 153.1001 C
82 153.1001 L
81.5 154.2998 82.5 154.8999 82.3999 156.2002 C
82.7002 155.7002 83.8999 154.8999 83.6001 153.6001 C
84.1001 153.1001 L
84.1001 149.5 L
84.5 149.5 L
84.7002 148.7002 84.2002 147.8999 85.1001 147.6001 C
85.2002 147.8999 85.7998 147.8999 85.6001 148.3999 C
85.8999 148.3999 L
86.2998 150.7998 85.6001 153.1001 86.5 155.2998 C
86.3999 155.3999 L
86.6001 155.6001 L
87.2998 154.7002 87.1001 153.7002 87.7998 153.1001 C
87.7998 151.2002 88.5 151.1001 88.3999 149.2998 C
89.2002 149.2998 88.8999 146.6001 90.1001 148.2998 C
90.1001 148.7002 L
90.3999 148.7002 L
90.7998 149.5 90 150.8999 90.7002 151.6001 C
90.5 151.7998 L
90.2998 151.7002 90.3999 151.6001 90.3999 151.3999 C
90 151.8999 90.7002 152.2002 90.7998 152.6001 C
90.5 153.8999 91.2998 155 91.6001 155.8999 C
92.2002 154.6001 92.2998 153.3999 92.3999 152 C
92.5 150.6001 93.1001 149.7002 93.5 148.2998 C
93.6001 148.3999 L
94.1001 147.6001 L
95.1001 148.2002 94.5 148.7002 94.7998 149.5 C
94.6001 150.2998 94.8999 151 94.7002 151.7998 C
94.7998 152.3999 95.3999 151.5 95.2998 152.2998 C
94.7002 152.5 95.3999 152.7998 95.2998 153.1001 C
95.6001 154.3999 96 155.7998 96.3999 157.2002 C
97 155.2002 97.3999 153.2002 97.8999 151.3999 C
98.1001 151.2002 98.5 151.2998 98.7998 151.2998 C
98.7998 152.2002 100.1001 153 99.5 154 C
99.5 155 L
99.6001 154.8999 L
99.6001 156 100.2998 157.2998 100.1001 158.6001 C
100.8999 159.1001 100.2998 159.7002 101 160.2998 C
101 160.3999 101.1001 160.5 101.2002 160.6001 C
102 159.7002 101.3999 158.2998 102.1001 157.3999 C
101.6001 157.1001 101.7998 156.3999 101.7998 155.7998 C
101.7998 155.6001 102 155.6001 102.1001 155.6001 C
102.1001 155.2002 102.2002 154.7998 102.5 154.3999 C
103 154.7998 103.3999 154.6001 103.7002 155.2998 C
103.3999 155.5 L
103.7002 155.5 L
103.7002 157.6001 L
103.7002 157.3999 103.8999 157.3999 104 157.3999 C
103.5 159 104.3999 160.1001 104.5 161.7998 C
104.7002 161.7002 104.8999 161.7998 104.8999 162 C
104.8999 162.3999 L
104.8999 162.2998 105 162.2002 105.1001 162.2002 C
104.6001 163 105.8999 162.7998 106.2002 162.7002 C
f
172 159.6001 m
172.2998 159.7998 L
172.2998 159.7002 L
172.7998 159.7002 173.3999 159.7998 173.7998 159.3999 C
174.1001 159.3999 175.1001 159.7002 175.7002 159.6001 C
176.2998 159.7998 178.2998 160.2998 178 159 C
178.3999 158.7002 178.5 158.2998 178.3999 157.7998 C
178.7998 157.7998 L
179.5 154 179.5 150.3999 179.2998 146.2998 C
178.7998 145.2998 178.7002 143.5 179.2998 142.7002 C
179.5 142.7002 179 142.6001 178.8999 142.3999 C
178.8999 142.1001 179.5 141.6001 178.8999 141.5 C
179.5 140.2002 179.7002 138.6001 178.7998 137.3999 C
177.7002 136.2998 L
173.2002 136.8999 169.6001 135.7998 165.2002 136.2998 C
164.6001 136.6001 163.7998 138.6001 163.7002 139.7002 C
164.8999 141.2998 167.5 141.2998 170.2002 141.2002 C
171.3999 141 172.2998 141.1001 173.5 141.6001 C
173.8999 141.2998 174.2998 141.7998 174.6001 142.1001 C
174.6001 142.2002 L
174.7998 142.2002 L
174.7002 143.2998 175.7002 144.7998 174.1001 145.3999 C
171 146.2002 167.3999 144.7998 164.3999 146.3999 C
164.6001 146.5 164.5 146.7002 164.5 146.8999 C
163.7998 147.2002 164.3999 148.7002 164.2998 149.3999 C
164.7998 149.1001 164.7998 150 165.3999 149.8999 C
165.2002 150 L
167.8999 151.7998 171.2998 149.6001 174.3999 150.5 C
175.5 151 174.5 151.8999 175.6001 152.3999 C
175.2002 152.3999 L
175.5 152.7002 175.5 153.5 175 153.7002 C
172.3999 155.7998 167.7002 153.7002 165.2002 155.5 C
164.7002 156.2998 164.2998 157.3999 164.2002 158.5 C
164.5 158.2998 164.7002 159.2002 165 158.7998 C
166.3999 160.2998 169.2998 159.7002 171.1001 160 C
172 159.6001 L
f
135.7002 157.1001 m
135.1001 153.6001 129.7998 154.8999 127.1001 154 C
126.2998 153.7998 124.2998 154 124.7002 152.5 C
123.8999 151.7002 125.1001 151.2998 125 150.3999 C
128.1001 149.2002 131.5 151.2002 133.8999 149.5 C
134.1001 149.2002 136.1001 148.2998 135.2002 147.1001 C
134.6001 147 134.6001 145.8999 133.6001 145.6001 C
130.7002 144.3999 127 146.6001 124.7998 143.5 C
124.2002 142.5 125.3999 141.7002 126 141.3999 C
127 141.2002 127.8999 140.6001 129 141 C
129 140.8999 L
130.6001 140.6001 133.2998 141 134.7998 140 C
134.5 139.3999 135.2998 139.7002 135.3999 139.2998 C
137 137 133.6001 136.7998 132.3999 136 C
129.6001 135.3999 126.2002 135.8999 123 136.1001 C
121.7998 135.8999 120.8999 137.1001 120.6001 138.2002 C
120.6001 139.3999 120.7002 140.5 120.1001 141.7002 C
120 141.6001 L
120.1001 143.7998 119.7998 144.8999 119.7998 147.6001 C
120.2002 147.5 L
120.2002 149.5 L
119.8999 148.8999 L
119.8999 150.3999 120.1001 152.2998 119.8999 153.7998 C
120.5 154.1001 120 154.8999 119.8999 155.3999 C
120.7002 155.2002 119.6001 156.1001 120.5 155.7998 C
119.8999 156.3999 120.7998 157.2998 121.1001 158.3999 C
121.2998 158.2002 L
121.3999 158.5 121.6001 158.7002 121.6001 159.1001 C
121.7002 159 L
122 159.6001 L
126.6001 157.5 132.1001 161 135.7002 157.1001 C
f
49.8999 150.5 m
49.7998 150.6001 L
49.6001 148.6001 46.7998 147.1001 45.6001 145.6001 C
44 146.1001 41.7998 146.1001 40.2998 145.1001 C
40 144.1001 41.6001 144.7002 41.8999 144.2002 C
42.7998 143.8999 43.6001 143.5 44 142.7002 C
43.3999 142.2998 42.2002 142.2998 41.8999 141.7002 C
41.6001 142 L
39 140.8999 L
39.5 139.6001 42 140 41.3999 138.7002 C
40.2998 137.7998 38.8999 137.2998 38 136.2002 C
38.7002 135.7002 39.5 134.8999 39.3999 133.8999 C
39.3999 134 L
38.1001 133.2002 36.7002 132.7998 35.2002 131.7998 C
35.2998 130.8999 36.3999 131 36.6001 130.2002 C
36.2998 128.6001 32.5 128.1001 34.7998 126 C
34.2002 125.7998 34.6001 124.8999 33.7998 124.8999 C
34 124.7998 L
33.2002 123.7998 31.6001 123.6001 32.3999 121.7002 C
32.8999 121.3999 L
32.6001 121.1001 32.5 121.6001 32.2998 121.2002 C
30.6001 120.3999 30.6001 117.7002 30.5 115.8999 C
30 115.2998 30 114.6001 29.5 114 C
29.7998 112.5 28.3999 111.3999 28.8999 110.2002 C
27.8999 111.2998 28.3999 113.5 28.2002 115.3999 C
28 115.3999 28 115.6001 27.7998 115.7002 C
28.2002 115.7002 L
27.8999 116.3999 28 116.5 27.7998 117.2002 C
28 117.1001 L
28.2002 117.6001 28.3999 119.2002 28.2998 120.6001 C
28.6001 120.6001 L
28.6001 121.1001 L
28.2998 121.1001 L
28.6001 121.8999 L
28.7002 121.7998 L
28.8999 123.1001 28.7998 124.1001 28.7998 124.8999 C
29 124.8999 L
29.3999 125.2998 28.6001 125.5 29.2998 125.6001 C
29.7002 126.5 28.7998 127.7002 29.8999 128.2002 C
29.5 128.5 L
29.6001 128.3999 L
30.2002 129.1001 29.7998 130 30.5 130.7002 C
30.1001 131.2002 L
30.6001 131.2002 30.2998 131.8999 30.3999 132.2002 C
30.6001 132.2002 30.7002 132.3999 31 132.6001 C
30.6001 133.5 31.5 134.5 31.6001 135.5 C
31.8999 136.5 31.8999 136.3999 32 137.6001 C
33 137.3999 32.2002 138.7998 32.6001 139.1001 C
31.7998 140 33.7998 140.1001 33.1001 141 C
33.3999 141.2002 33.2998 142.3999 34.2002 142.6001 C
34.2002 143.2998 L
34.2998 143.2002 L
34.7998 143.5 34.3999 144.7998 35.3999 145.1001 C
34.8999 145.3999 35.3999 145.7998 35.3999 146.2002 C
35.5 146.1001 35.5 146 35.6001 146 C
35.5 147.3999 36.7998 148.5 38 149.5 C
38.7002 148.8999 39 150.1001 39.6001 149.3999 C
39.8999 149.5 40.8999 149.1001 41.3999 149.2998 C
44.2998 149.5 47.6001 150.1001 50 151.3999 C
50 151.1001 49.6001 150.7998 49.8999 150.5 C
f
*u
159.5 158.2998 m
159.8999 155.5 151.6001 151.8999 158.2002 150.6001 C
158.7998 150.5 158.8999 149.7998 159.3999 149.5 C
160.1001 149.2002 159.8999 147.3999 159.7998 146.6001 C
159.1001 145.2002 155.6001 144.7998 156.1001 142.2998 C
157 141.7002 158.6001 141.1001 159 139.7002 C
159.6001 139.6001 L
159.6001 138.2002 159.2998 137.2002 158 136.2998 C
155.5 137.1001 152.8999 138.3999 150.6001 139.7998 C
146.2998 140.7998 145.1001 134.8999 140.8999 136.7002 C
140.6001 137.2002 140.3999 137.7002 139.8999 137.8999 C
139.5 140 142.2998 141.2002 143.7998 142.3999 C
143.6001 144 141.7002 144.7002 140.7998 145.8999 C
140.2998 146.5 140 147.6001 140.2002 148.3999 C
140.2998 148.2998 L
140.5 148.3999 140.6001 148.7998 140.3999 148.8999 C
139.8999 149 140.5 149.2998 140.5 149.5 C
140.7998 149.7002 141.1001 149.3999 141 150 C
141.7998 149.7002 141.7998 150.8999 142.2998 151 C
142.6001 151.5 144 152.2998 143.7998 153 C
142.2002 154.6001 139.5 155.5 140.2002 158 C
143 159.7998 145.6001 157 147.7002 156.2002 C
148.1001 155.8999 148.8999 155.5 149.7998 155.5 C
151 156.1001 152.2998 156.3999 153.5 157.3999 C
153.3999 157.6001 L
154.3999 157.6001 154.7998 158.8999 156.3999 158.8999 C
156.8999 159.2998 157.7998 159.1001 158.3999 158.8999 C
158.7998 158.2998 158.7998 158.5 159.5 158.2998 C
f
1 D
149 149.3999 m
147.6001 149.2002 147.7002 148.7002 146.7998 148 C
146.8999 147.1001 147.8999 146.7002 148.6001 146.5 C
149.8999 145.7002 151.2998 146.6001 152.7998 146.6001 C
152.6001 147 153 147.7002 152.8999 147.6001 C
152.7998 148.1001 152.7002 148.7002 152.2002 148.7998 C
151.2998 148.8999 150 149.7002 149 149.3999 C
f
*U
0 D
184.3999 145 m
184.8999 144.6001 185.2002 143.6001 185.7998 142.8999 C
186.7998 139.8999 189.1001 137.3999 189.2002 134.5 C
189.7002 133.7998 190.2998 132.6001 190.3999 131.5 C
190.7002 131.5 L
190.6001 129.8999 191.5 129.1001 191.5 127.2998 C
192.1001 125.7002 192.2998 123.2998 193 121.7998 C
193 119.5 194.1001 117.3999 193.7002 115.1001 C
194.2002 113.7998 194.1001 112.7998 194.2998 111.5 C
194.5 111.5 L
194.2002 105.2002 195.3999 100.2002 194.2002 93.7998 C
193.8999 90.6001 193.7002 88 193.3999 85 C
192.6001 84 193.2002 82.7998 192.7002 81.7998 C
192.3999 78.3999 191 74.5 190.2002 71 C
189.6001 70.7002 189.7998 69.7998 189.6001 69.5 C
188.8999 67.1001 187.6001 64.8999 187 62.2998 C
186 62.2002 186.7998 60.8999 186 60.7998 C
186.1001 60.5 185.8999 60.1001 185.6001 60.1001 C
184.2998 56.3999 182.2998 53.5 180.1001 50.2998 C
180.2002 49.7998 L
179.7002 49.7998 179.6001 49.2002 179.5 48.7998 C
178.1001 46.8999 176.5 44.8999 175.2002 43 C
175.2998 42.7998 L
173.2002 40.5 171.6001 38.5 169.3999 36 C
162.1001 28.2002 154.2998 21.5 144.6001 16.1001 C
129.8999 8.2998 113.3999 3.8999 97.1001 4.3999 C
96.7998 3.7998 96.5 4.7998 96.2002 4.3999 C
87.8999 3.7002 79.8999 6.7998 71.6001 8.7998 C
71.3999 8.5 L
69.6001 9.6001 67.2998 10 65.5 10.3999 C
55.7002 13.7002 45.5 19.1001 37.2998 26 C
37.2998 26.6001 36.3999 26.6001 36.3999 27.1001 C
33 29 31.2998 32.2998 28.7002 34.7998 C
28.8999 35.7002 28 34.8999 28.2998 35.6001 C
32.7998 32.2002 38.5 27.3999 43.7002 24.7998 C
47.2002 22.7002 51.1001 21 54.5 18.5 C
56.5 17.5 58.3999 15.2998 60.3999 13.8999 C
60.7998 13.3999 61.7002 14.2002 61.2998 14.6001 C
62.7998 15.7002 63.5 14.7998 64.7002 14 C
65.3999 13.2998 66.3999 11.2998 67.7998 11.7998 C
68.3999 13.3999 L
71.5 13.8999 72.3999 10.6001 74.5 9.6001 C
75 10.3999 74.2998 11.5 74.8999 12.1001 C
76.7998 11.7002 77.6001 10.7998 78.6001 9.1001 C
79.2998 9.6001 79.8999 10.1001 79.7998 10.8999 C
81.1001 10.7002 83.2002 9.7998 84 8.8999 C
84.5 9.5 84.6001 10 84.7002 10.7998 C
86.7002 10.6001 88.1001 8.3999 89.6001 8.3999 C
90.1001 10.7998 L
90.5 10.5 91.6001 9.8999 92.2002 10 C
93.6001 8.7998 94 7.2002 96.2002 7 C
97 8.7998 94.2002 9.6001 96.1001 11.2002 C
97.5 10.6001 98.5 9.6001 99.6001 8.6001 C
100.5 8.7998 100.1001 9.8999 100.1001 10.2998 C
99.7998 10.6001 99.2998 10.8999 99.6001 11.3999 C
101.2002 12 102.7002 10.1001 104.2998 8.8999 C
104.8999 8.7002 105.7002 8.5 106 9.2002 C
106 10.6001 104.7002 10.3999 104.2002 10.8999 C
104.2002 12.2002 105.2998 11.7998 106.1001 12.2002 C
106.5 11.7998 107.2002 11.6001 107.6001 11.5 C
108.7002 10.6001 L
109 10.8999 109.2002 10.2002 109.6001 10.2002 C
110.1001 9.7002 111.7002 8.2002 113 8.7998 C
112.3999 10.2002 111.3999 10.7002 110.5 11.8999 C
110.6001 12 L
110.2002 12.6001 L
111.5 12.6001 112.3999 13 113.7998 12 C
114.6001 11.7998 115.7002 11.6001 116.7998 11 C
117.2002 11.7998 116.6001 12.3999 116.2998 13.1001 C
115.7998 13.1001 L
115.8999 13.3999 115.6001 13.8999 115.2002 14 C
116.2002 14.2998 117.6001 14.6001 118.2998 13.8999 C
119.7998 13.7998 119.6001 13.8999 120.6001 13.2002 C
121.1001 13.2002 122 12.7002 122.6001 13.2002 C
121.8999 13.8999 121 14.7998 121 15.3999 C
121.2998 16.6001 123.1001 15.6001 124 15.7002 C
125.6001 15.1001 126.8999 13.3999 128.3999 14 C
127.7998 15.5 126.6001 16.2998 125.5 17.2998 C
127.5 18.1001 129.6001 16.8999 131 16 C
132.6001 16.2002 L
132.7002 18.1001 127.8999 19.1001 130.8999 20.6001 C
131.5 20.1001 132.7002 20.2002 133.3999 19.2998 C
134.6001 18.7998 136.1001 18 137.5 17.2002 C
137.7002 17.3999 138.1001 17.2002 138.2002 17.5 C
137.7998 19.3999 135.8999 20.2002 134.5 21.2002 C
134.6001 21.3999 L
134.6001 21.8999 133.8999 21.5 134.2002 22.2002 C
134.2002 22.1001 L
137.2002 22.1001 139.6001 19.7998 142.8999 20 C
142.6001 20.3999 L
142.7002 20.3999 142.8999 20.3999 142.8999 20.5 C
141.7002 22 139.5 22.7998 138.3999 24.7998 C
139.7998 25 L
139.7998 25.2002 L
141.7002 24.7998 143.7998 23 145.7002 23 C
146.1001 24.6001 143.7002 25.2998 142.8999 26.2002 C
142.6001 26.5 142.2002 26.7002 142.6001 27.2002 C
143.2998 27.5 L
145 26.7998 147.7002 26.3999 149.2998 25.8999 C
149.5 25.8999 150.2002 26.2998 149.7998 26.6001 C
148.2002 27.7002 146.2002 28.2002 145.7998 30 C
147.8999 29.7002 150.6001 28.7002 152.6001 28.6001 C
152.7998 28.7002 L
151.7002 30.7002 149.2998 30.5 148 31.8999 C
148.7998 32.6001 148.8999 32.2998 150 32.8999 C
150.5 32.7002 151.3999 32.2002 152.2002 32 C
154 32.3999 156.2002 30.8999 158.2998 31.8999 C
158.2998 32.1001 158.1001 32.2002 158 32.2998 C
157.7002 32.2002 L
157.8999 32.3999 L
156.2998 34.2002 152.2998 34.2002 151.7002 36.1001 C
152.7998 36 154.7998 35.8999 156 35.7998 C
157.6001 35.6001 159.2998 35 161 35.6001 C
161.2998 36.2998 160.6001 36 160.2998 36.3999 C
160 36.3999 L
160 36.7002 L
158.2002 37.3999 156.5 38.3999 155.2002 39.3999 C
158.6001 39.1001 162.1001 38.7998 165 38.7998 C
165.2002 39.6001 164.1001 39.8999 163.3999 40.1001 C
161.7002 40.7998 159.7002 41.2002 158.2998 42.3999 C
159.1001 42.7002 161 42.1001 161.5 42.7998 C
162.2002 42.3999 162.8999 42.3999 163.6001 42.7998 C
165.3999 42.5 167.2998 42.7002 169.1001 42.5 C
169.2998 42.7002 169.2002 43 169.2002 43.2998 C
168.7002 43.5 167.7998 44.5 166.6001 44.5 C
165.2002 45.1001 163.3999 45.2002 162 46.1001 C
161.7002 46.6001 162.2998 46.7002 161.7998 47.2002 C
163.8999 48 166.1001 46.5 168.2002 47 C
168.8999 46.6001 169.6001 47 170.3999 47.3999 C
168.8999 49.2998 166.5 48.3999 164.7998 50.2002 C
165.8999 50.6001 168.1001 51.1001 169.8999 50.5 C
170.2002 50.7002 170.3999 50.7998 170.6001 50.5 C
172.2998 50.2002 174.2998 50.3999 175.7998 50.2998 C
176.3999 50.6001 L
175.8999 51.3999 174.7002 52.1001 173.8999 51.7998 C
171.8999 53.1001 170 53.1001 167.6001 53.8999 C
167.2002 54.3999 167.7998 54.7002 168.1001 55.1001 C
171 55.5 174.1001 55.3999 177.2002 55.3999 C
177.8999 55.8999 177 56.5 176.7998 56.6001 C
175.2998 57.3999 172 56.8999 171 58.3999 C
170.3999 58.2998 170.5 59 170 59.2002 C
172.2998 60.2998 175 59.2998 177.3999 60.1001 C
177.2002 60.2002 L
177.7998 60.2002 178.2002 60.7002 178.7002 61 C
177 62.8999 174 61.3999 172.2002 63.3999 C
172.3999 63.8999 173.7998 63.6001 174.3999 63.7998 C
176.6001 64.2998 179.2998 64.1001 181.6001 65.2002 C
181.6001 66.1001 180.2002 66.2002 179.6001 66.3999 C
177.8999 66.7002 175.2998 66.2002 173.8999 66.7002 C
173.8999 67.1001 L
175.2998 67.2998 176.7998 68 177.7998 68 C
178 68.3999 178.8999 68.2998 179.3999 68.7998 C
180.8999 69 182.7002 69.1001 184.2002 69.6001 C
184.3999 70 L
182.7002 70.7998 181.3999 70.7998 179.3999 71.2998 C
178.2998 71.7998 177 71.2002 175.8999 71.3999 C
176.7998 73.7998 179.5 72.8999 181.2998 73.7998 C
182.3999 73.7998 183.1001 74.1001 183.6001 75 C
181.7998 77.1001 178.8999 74.5 177.2002 75.7998 C
176.7998 78.3999 181 77.2002 181.7998 78.6001 C
183.5 78.7998 185.2998 79.2998 186.7002 79.7998 C
187 80.2998 L
184.7002 81.1001 181.2002 81 178.7002 81 C
178.6001 81.6001 179.1001 82.2998 179.6001 82.7002 C
180.2002 82.7002 180.3999 83.1001 180.7998 83.2998 C
182.6001 84.2002 183.2002 83.7998 184.8999 85.1001 C
183.5 87.2002 181.2998 85.5 179.3999 85.3999 C
179.1001 86.3999 179.5 87.3999 180 88.2002 C
180.7002 88.2002 180.7002 88.7002 181.1001 89 C
183.7002 90.5 185.7998 91 188.5 92.2002 C
188.8999 92.7998 L
185.8999 94.7998 183.3999 91.3999 179.8999 92.3999 C
180.6001 92.7998 179.7998 93.5 180.2002 94.2002 C
181.6001 94.7998 183.2002 95.2998 184.2002 96.2002 C
184.8999 96.2998 185.7998 97.2002 186.6001 97.2998 C
188 97.5 189 98.6001 190.2998 99.1001 C
187.2002 100.7002 184.2998 97.7002 181 98 C
180.2998 99.5 180.7002 100.3999 182.2002 101 C
183.7002 101.7998 185.2002 102.6001 186.5 103.7002 C
186.5 103.6001 L
186.8999 103.2998 186.8999 103.8999 187.2002 104 C
187.2002 103.8999 L
188.1001 104.1001 188.2002 105.2998 189.6001 105.3999 C
189.7002 106 L
188.8999 106.2002 L
186 105.3999 183.3999 104.2998 180.5 103.8999 C
180.7998 104.6001 181.3999 105.3999 181.7998 105.5 C
182.3999 106.3999 183.6001 107.3999 185 107.5 C
185 108.1001 186 107.8999 186.3999 108.7998 C
185.7998 109.5 184.3999 108.8999 183.7002 109.7998 C
183.5 110.2998 184.6001 110.3999 184.2002 111.2002 C
184.7998 111.3999 184.8999 112.5 185.6001 112.6001 C
185.2002 112.8999 187.2002 114 185.3999 114.1001 C
184.1001 113.5 L
183.7998 114.7998 183.6001 116.1001 184.2002 117.3999 C
184.2998 117.2002 L
184.7998 117.8999 185.7002 117.7998 186.3999 118.7998 C
185.7998 119.3999 L
185.2998 119.2998 184.6001 119.1001 184.1001 119.2002 C
184.2998 121.5 184 123.3999 184.2998 125.8999 C
184 126.6001 184.5 127.6001 183.7998 128.2002 C
184.6001 128.7002 183.7002 129.2002 183.7998 129.7998 C
183.7002 129.7002 L
183.7998 130.7002 183.6001 132.1001 183.5 133.2998 C
183.2002 133.2998 L
183.5 133.8999 183.2002 134.6001 183.5 135 C
183.1001 135.2998 183.5 135.3999 183.2002 135.7002 C
183.5 136 L
183 136 L
183.2998 136.8999 182.8999 139.2002 183.2002 140.5 C
183.5 140.7998 L
182.8999 141.6001 183.6001 142.2998 183.1001 143.3999 C
183.7002 143.3999 183.5 144.7002 183.7002 145.1001 C
183 145.3999 183.7998 146.2002 183.6001 146.8999 C
183.7002 145.8999 184.2998 145.8999 184.3999 145 C
f
131.8999 132.7998 m
132.8999 132.5 134.2002 132.7002 135.3999 132.7998 C
135.3999 132.7002 L
138.8999 132.2002 141.7998 132.7002 145.1001 132.5 C
145.6001 132.6001 L
145.6001 132.5 L
146.2998 132.5 147.8999 132.7002 149 132.3999 C
150 133.2998 151 132 151.8999 132.6001 C
154.7002 132.7998 157 132.2002 160 132.6001 C
160 132.5 L
165.2998 132.2002 172.7002 132.5 178 132.2002 C
178.2998 131.6001 179.2002 131.2002 179.5 130.6001 C
179.2998 126 179.8999 120.5 179 116.2998 C
179.2002 115.2998 179.2998 114.2998 179.3999 113.5 C
178.7002 112 180.5 109.7998 177.7998 109.2002 C
176.7998 109 176 109.3999 175.2002 109.8999 C
175.1001 110.7998 174.8999 112.1001 175 113.2002 C
175 114 174.3999 116.6001 175.1001 118 C
175.3999 119.7998 174.2002 120.8999 175 122.6001 C
173.8999 122.7998 174.6001 124 174.6001 124.6001 C
174.6001 125.8999 173.7998 127.1001 173.2998 128.5 C
171.1001 129.3999 169.6001 128.2002 167.5 128.6001 C
165.2998 129 162.2998 129.1001 160 128.5 C
150.3999 128.3999 142.1001 127.7998 132.2002 128 C
132 127.7998 L
130.3999 127.8999 127.5 128.1001 126.2002 127.2002 C
125.8999 126.2002 125.7998 125.7002 125.5 124.8999 C
125.7002 123.8999 125.2998 122.7998 125.7998 121.8999 C
125.5 121.6001 L
126 121.3999 L
125.7002 120.2002 126.1001 118.6001 125.6001 117.5 C
126 116.7998 L
125.7998 116.7998 125.7998 116.6001 125.6001 116.5 C
125.7002 114.7002 125.5 113.1001 125.3999 111.3999 C
124.5 110.7002 125.7998 108.1001 123.7998 108.6001 C
122.6001 108.3999 121.2998 108.8999 120.6001 109.7998 C
120.7002 110.7002 120.3999 111.7998 120.6001 112.7998 C
119.8999 113.1001 121 113.2998 120.6001 113.7998 C
120.3999 115.5 120.5 117.6001 120.5 119.5 C
120.7002 119.5 L
120.2002 119.7998 120.7002 120.2998 121 120.7002 C
120.6001 120.7998 121 121.3999 120.7002 121.7002 C
120.2998 121.3999 121.5 122.1001 120.7002 122.2998 C
120.7998 122.2002 120.8999 122.2998 121 122.3999 C
120.7002 122.6001 L
120.8999 122.6001 121 122.7998 121.1001 122.8999 C
120.6001 122.7998 121 123.7998 120.7002 124.1001 C
120.7998 124.1001 L
121 125.5 120.7998 125.7998 120.7998 127.7002 C
120.6001 128.2998 120.7002 128.2998 120.7998 129.1001 C
121 129.1001 L
120.7002 130.2002 L
121 130.2002 L
120.1001 130.5 121.6001 131.2002 121.1001 131.6001 C
121.8999 132.1001 122.3999 132.1001 V
122.6001 131.8999 L
123.2002 132.3999 124 131.7998 124.2998 132.6001 C
130.2002 132.7998 L
130.2002 132.7002 L
131.8999 133 L
131.8999 132.7998 L
f
*u
135.3999 123 m
135.7002 122.7998 L
135.2002 122.3999 L
135.6001 121.8999 L
135.5 122 L
135.2998 121.8999 135.3999 121.7002 135.3999 121.6001 C
135.3999 121.3999 135.6001 121.3999 135.7002 121.3999 C
135 119.3999 135.5 117.6001 135.2002 115.2998 C
135.2002 114.3999 135.7998 114 136.1001 113.3999 C
136.2002 113.5 L
137.3999 111.7002 140.8999 112.8999 142.8999 112.7002 C
144 112.6001 144.7002 113.3999 145.8999 112.7998 C
146.5 113.3999 148.2002 113 147.5 114.2002 C
145.2998 117.2002 141.2002 113.2002 139.7998 117.2002 C
139.5 118.2002 139.3999 119.1001 139.3999 120.2002 C
139.3999 120.1001 L
139.7998 119.7998 139.6001 120.5 139.7998 120.6001 C
139.3999 120.6001 L
140.3999 120.8999 139.6001 121.8999 140.2002 122.5 C
140.1001 122.3999 140.2002 122.2998 140.2998 122.2998 C
140.3999 122.2998 L
139.8999 122.7998 140.8999 123.1001 140.3999 123.6001 C
140.8999 123.3999 L
140.7998 123.8999 141 124.7998 141.6001 124.8999 C
147.6001 124.8999 152.7998 124.5 158.8999 124.7002 C
159.6001 123.6001 160.3999 122.7002 160.1001 121.1001 C
160.2002 120.7998 160.3999 120.2998 160.3999 120.1001 C
160.3999 120.2002 L
159.7002 118.6001 160.7998 115.8999 157.7002 115.6001 C
155.8999 115.2002 154 115.5 152.8999 114.1001 C
152.8999 112.7998 154.5 113.3999 154.8999 112.6001 C
157.6001 112.3999 161 112.3999 164.2002 112.6001 C
165.2998 113.6001 164.5 115.2998 165.2002 116.2002 C
164.7998 116.7998 165.3999 117.1001 165 118.1001 C
164.7998 118 164.7998 118.2002 164.6001 118.2998 C
164.7002 119.2002 165 121.1001 165.2002 121.8999 C
164.8999 122.2998 L
165.8999 122.7002 164.2998 124 165.7998 124.2002 C
165.7002 124.7998 166.7002 125.5 167.2002 125.7998 C
167.6001 125.7998 L
167.7998 125.3999 168.3999 125.2998 168.7998 124.8999 C
169.7002 123.7998 L
169.8999 121.3999 169.6001 118.1001 169.8999 115.2998 C
169.7002 115.1001 L
169.7002 109.1001 L
164 107.7998 158.8999 108.6001 153.2002 107.8999 C
151.8999 106.2002 152.5 103.5 150.5 102.3999 C
149.3999 102.2998 148.2998 102.7998 147.6001 103.3999 C
146.8999 104.3999 148.1001 105.3999 146.8999 106.2002 C
147 106.7002 147.1001 107.1001 146.8999 107.6001 C
145.3999 108.3999 L
141 108.6001 136.3999 107.8999 131.5 108.3999 C
130.7998 110.1001 131 111.2002 130.3999 112.7998 C
129.8999 113.2002 131 113.8999 130.2002 114.2002 C
130.2998 116.3999 129.7998 119 130.7002 120.7998 C
129.6001 120.7002 131.3999 121.5 130.3999 121.8999 C
130.1001 122.3999 131 122.2002 130.6001 122.6001 C
130 124 130.8999 125 132.1001 125.7998 C
132.7002 125.7002 133.6001 126.2002 134 125.5 C
134.5 124.7998 135.3999 124.2998 135.3999 123 C
f
1 D
148.6001 121.1001 m
147 120.8999 145.2998 122.2002 144.1001 120.2002 C
143.6001 119.5 144.5 119.7002 144.7002 119.2002 C
147.7998 118.3999 152.1001 119 155.2998 119.2002 C
155.5 119.7998 L
155.2998 119.7998 L
155.2002 120.5 154.3999 120.6001 154.1001 121 C
152.2002 121.2002 150.6001 121.6001 148.6001 121.1001 C
f
*U
0 D
162.6001 105.7998 m
162.7998 105.1001 164 105.3999 164.2998 105.1001 C
165.7998 104 168.1001 102.1001 169.2998 100.6001 C
169.3999 99.8999 169.7002 98.7998 169.1001 98.7998 C
165.7002 100.3999 162.5 102.3999 159.7002 105 C
159.7002 105.1001 158.7998 105.1001 159.1001 105.5 C
160 105.7002 160.7002 105.6001 161.7998 105.6001 C
161.8999 106 L
162.2002 105.7998 162.2002 105.5 162.6001 105.7998 C
f
144.3999 104.5 m
144.5 102.7002 145.6001 100.2998 147.2002 99.3999 C
147.7002 99 148.2998 99.2002 148.6001 98.5 C
150.2998 99.5 151.8999 98.7998 153.1001 97.7998 C
153.7002 96.3999 156.1001 95.1001 157.2998 94.6001 C
157.5 94.2998 157.3999 94 157.3999 93.7002 C
157.6001 93.6001 158.5 92.7002 158.5 91.7998 C
158.8999 91.8999 159.2002 91.2998 159.2002 91 C
159.3999 91.1001 L
162.2002 87.6001 165.1001 84.7998 165.7998 80.2002 C
165.3999 79.7002 165.6001 78.7002 165.3999 77.8999 C
163.8999 78.2002 164 80 162.7998 80.8999 C
160.5 84 157.6001 87 154.3999 89.7998 C
153.6001 90.7998 152 92.2002 150.7998 93.1001 C
150.6001 92.7998 150.1001 92.5 150.5 92.2002 C
150.3999 92 150.6001 91.8999 150.7002 91.7998 C
151 92 L
151.5 90.7998 152.2998 89.6001 153.1001 88.6001 C
155.3999 85 L
155.5 85.1001 L
156.8999 83.6001 157.8999 81.1001 159 79.8999 C
159.1001 78.1001 161 77.8999 160.8999 76.1001 C
161.2002 76.1001 L
161.5 75.2002 161.6001 74.1001 162.2002 73.3999 C
162.2998 72.3999 163 72.1001 163 71 C
163 70 162.2998 69.7998 161.8999 69.1001 C
159.3999 72.6001 L
159.5 72.7002 L
154.2002 80.7002 148.7998 87.7002 141.5 94 C
141 94 L
140.8999 94.2998 140.2002 94.8999 139.7002 95.2002 C
139.2998 96 138.1001 95.5 138.1001 96.6001 C
137.8999 96.6001 L
137.7998 100.3999 L
138.3999 101 L
138 101.2998 L
138.3999 101.2998 L
138.3999 102.3999 138.2002 103.1001 139 103.8999 C
138.7002 104.7002 140.2998 104.7002 141.1001 105 C
144.3999 104.5 L
f
158.2998 101.2998 m
158.5 100.1001 159.7002 100.2002 160.3999 99.2002 C
163.2998 96.5 165.5 94.1001 168.1001 90.3999 C
167.7002 89.5 169 88 167.5 87.2002 C
166.6001 88.3999 164.7998 89.5 164.2002 90.7002 C
163.2002 91 162.7002 92.3999 161.6001 93 C
160.6001 93.6001 159.7002 95.2002 158.7998 95.8999 C
157.3999 97.5 155.2002 98.7998 154.2998 100.7002 C
155.2002 101.7998 L
155.1001 102 155.7002 102.6001 155.6001 103.2002 C
156.2998 102.7002 157.5 101.7998 158.2998 101.2998 C
f
136.7998 93.7002 m
136.8999 93.8999 137.5 93.2998 138 93.5 C
138.5 92.7998 139.6001 93.2002 140.2002 92.3999 C
142.1001 91.2998 142.6001 90 144.7002 88.3999 C
144.7998 88.6001 L
145.2998 87.7998 L
145.3999 88 L
145.8999 87.3999 146.7998 86.3999 147.2002 85.7002 C
148.1001 85.8999 147.3999 83.8999 148.7998 84 C
148.6001 83.6001 149.1001 83 149.2998 83.2998 C
150 81.5 151.2998 81 151.7998 79.1001 C
152 79.1001 L
151.6001 78.6001 152.3999 78.7998 152.2002 78.2002 C
152.6001 78.2998 152.5 77.6001 152.8999 77.2002 C
153 77.2998 L
153.2998 75.7998 154.7002 74.2002 154.8999 72.6001 C
155.2002 72.6001 L
155.5 70 157.2002 67.7002 157.3999 65.6001 C
157.8999 65.2998 158.2002 64.7002 158 64.1001 C
158.3999 64.2002 L
159.5 62.3999 157.8999 60.8999 157.2998 59.7998 C
157.2002 59.7998 157.1001 60.1001 157 60 C
156.7002 59.7998 L
156.3999 60.6001 156.1001 61.5 155.6001 62.2002 C
155.1001 63.5 154.8999 66.1001 153.5 67.1001 C
152.1001 69.7998 151 72.2002 149 74.5 C
149.2002 74.5 149.2002 74.6001 149.2998 74.6001 C
147.6001 76.7002 146.5 79 145 80.2998 C
144.3999 79.6001 L
145 77.7998 146.2002 76 147 74.2998 C
146.7998 73 147.8999 72.7002 148.2002 71.2002 C
148.5 70.8999 148.1001 69.7998 148.7002 70 C
149.2002 68.1001 150 65.8999 150.7002 63.6001 C
151 63.6001 L
150.7002 62.1001 151.8999 61.5 151.7998 60.1001 C
152.8999 57.7998 152.3999 57 153.7002 54.7002 C
153.5 54.7002 152.2998 53.2998 151.7998 52.7002 C
150.8999 52.8999 151.7002 54.1001 150.7998 54.2002 C
151 54.2002 L
151 54.3999 150.7002 54.7998 150.6001 55 C
150.3999 55.6001 150.1001 57.1001 149.3999 57.7002 C
149.5 57.7002 L
149.2002 58.6001 148.5 59.7998 148.1001 60.6001 C
148.2998 61 147.7002 61.5 147.7998 61.8999 C
147.5 61.8999 L
147.7998 63 147 63.2002 146.7998 64.2998 C
146.5 64.2998 L
146.2998 65.2002 146 65.5 145.7998 66.6001 C
145.6001 67.1001 L
145.3999 67 145.3999 66.7998 145.3999 66.7002 C
145.2002 68.2998 143.8999 68.6001 143.5 70.2002 C
143 70.2002 L
142.7998 69.6001 142.8999 68.8999 142.8999 68.2998 C
143.2998 68.3999 L
143.7998 66.7998 143.6001 65 144.5 64 C
144.5 62.7998 144.8999 62.2002 145.1001 61 C
145.5 60.7998 145.2998 59.2002 146 58.8999 C
145.7998 58.3999 146.5 58.1001 146 57.5 C
147 54.8999 147.3999 50.8999 148.3999 48.2002 C
146.5 46.2998 L
145.3999 48.7998 144.5 51.3999 143.7998 53.6001 C
143.3999 54.7998 142.6001 55.7998 142.2998 57.3999 C
142.1001 57.3999 L
142.2002 57.6001 142.2998 58.1001 142.2002 58.2998 C
140.8999 58.6001 142.2002 60 141.1001 60.2002 C
141.2002 60.8999 140.5 61.7998 140.2998 62 C
140.5 62.2998 L
139.7998 62.5 140.3999 62.7998 139.7998 63.2002 C
139.6001 63.7002 139.2998 64.2002 138.7998 64.6001 C
138.7002 64.3999 L
138.7002 64.2998 138.7998 64.8999 138.6001 65 C
137.2998 65 138.3999 64.2002 138.1001 63.5 C
138.3999 63.2002 L
138.5 63.2998 138.5 63.5 138.5 63.6001 C
138.2998 62.7998 138.7002 62.6001 138.6001 61.7998 C
139.2998 61.5 139.2002 60.6001 139.1001 59.8999 C
139.7998 59.8999 139.6001 58 140 57.6001 C
140.2998 56.3999 140 55.2998 140.7998 54.3999 C
140.7002 52.2998 141.3999 51.1001 141.2002 49.2002 C
141.8999 47.2002 141.7998 44.7002 142.2002 42.6001 C
142.2002 42.2998 142.2998 41.6001 141.7002 41.3999 C
141.1001 41.2998 L
141.2002 41.5 141 41.6001 140.8999 41.7998 C
141 41.7998 L
140.7002 43.5 140.2002 44.7002 139.3999 46.2998 C
139.1001 46.7998 139.7998 47.7002 138.7998 47.8999 C
139.3999 49.1001 138.1001 50 138.1001 51.2002 C
137.7998 52.6001 L
137.6001 52.3999 L
137 54.5 135.8999 57.3999 135 59.2002 C
135.3999 59.8999 134.2002 60.1001 134.2998 60.7998 C
134.2002 60.7002 L
133.8999 61.2002 134.2002 61.7002 133.3999 61.7998 C
132.5 60.2998 134.2002 58.6001 133.7998 56.7998 C
134.2002 55.2002 134.7998 52.6001 135.1001 50.7998 C
135.5 50.5 135.1001 49.2002 135.7002 48.7998 C
135.6001 48.7998 L
136.1001 48 135.6001 46.5 136.2998 46 C
136.2002 46 L
136.7002 44.2002 136.2002 42 136.7002 40.7002 C
136.8999 40.7002 L
136.6001 39.7998 136.6001 40.1001 136.3999 39 C
136.3999 38.1001 136.1001 37.2998 135.3999 36.7002 C
134.2998 37.2002 134.8999 39.7002 134.2998 39.7002 C
134.3999 39.7002 L
134.1001 41.2998 133.6001 42.2998 133.3999 44.2998 C
133.1001 44.5 L
133.5 44.8999 132.7998 45.8999 133 46.3999 C
132.5 46.8999 132.8999 47 132.5 47.2998 C
132.7002 47.5 L
131.5 49.6001 131.2002 52.7002 129.7002 54.7002 C
128.5 52.7002 130.2998 48.8999 130.2998 46.6001 C
130.5 42.2998 131.5 38.7998 131 34.6001 C
130.8999 34.3999 130.7002 34.2998 130.7002 34.1001 C
130.7998 34 L
129.5 32.8999 L
129 33.7002 129.1001 34.7998 128.7998 35.3999 C
129.2002 36.1001 127.8999 37.2998 128.5 37.8999 C
128 38.6001 128 40.7002 128 41.3999 C
127.6001 41.6001 L
128.2998 42.1001 127.2002 42.2002 127.6001 42.7002 C
127.6001 43.3999 127.6001 44.2002 127.1001 44.5 C
127 45.1001 127.2998 45.8999 126.7998 46.2998 C
127.3999 46.7998 126.2002 47.2002 126.5 47.8999 C
126.7002 49.3999 125.7002 50.1001 125.5 51.5 C
125.3999 51.3999 125.3999 51.2002 125.3999 51.1001 C
125 51.7002 L
124.2002 51.7002 124.7002 51.1001 124.6001 50.5 C
124.6001 50.3999 124.7998 50.3999 124.8999 50.3999 C
124.6001 45.3999 126 39.2998 125.5 34.7998 C
124.8999 33.8999 125.2998 32.6001 124.7002 31.7002 C
124.6001 30.7998 124.1001 30.3999 123.7998 29.6001 C
123 31.1001 123.5 32.5 123 33.7998 C
123.1001 33.7998 L
122.3999 35.2002 123.5 36.7002 122.2998 38.2998 C
123.1001 39.2002 121.7002 40.2998 122.2002 41.6001 C
121.7002 42.1001 L
121.7998 42.1001 L
121.7998 42.2998 121.8999 42.7998 121.3999 42.7998 C
121.7002 42.7998 L
121.8999 43.2002 121.7002 43.7002 121.2998 43.7998 C
121.6001 43.7998 L
121.6001 44.2998 L
121.1001 44.2998 L
121.5 45.7998 120.3999 46.7998 120.1001 48.2002 C
119.7998 48 L
119.7998 48.1001 119.7998 48.2998 119.6001 48.3999 C
118.2998 45.7002 119.3999 42.2998 119.2998 39.7998 C
119.3999 39.7998 119.3999 39.7998 Y
119.2002 39.6001 L
119.7998 39.3999 119.2998 38.2002 119.6001 37.8999 C
119.5 37.8999 L
118.7002 35.6001 119.2998 32.7998 118.7998 30.2002 C
119 30.2002 L
118.3999 29.5 118.5 27.5 117 27.5 C
116.7998 27.2002 L
117 28.6001 115.8999 29.7002 116.2998 31.7002 C
116 31.8999 L
116.2002 33 116.2002 33.8999 116 35 C
116.2998 35.2998 L
115.7998 35.6001 L
116.2002 35.7998 L
116.3999 36.6001 116.2998 38.2002 116.2002 39.3999 C
116.2998 39.2002 L
116.1001 41.5 115.7998 43.2998 115.1001 45.3999 C
115.2998 46.1001 115.2002 46.7002 115.1001 47.5 C
113.8999 47.8999 115.2998 49.2998 114.3999 49.8999 C
115.1001 50.2998 113.7998 50.7002 114.6001 51.1001 C
114.5 51.3999 114.2998 50.8999 114.3999 51.3999 C
114.5 51.5 L
114.1001 51.5 L
114.1001 52.6001 L
114.2002 52.6001 L
114.1001 53.1001 114 53.3999 114.6001 53.8999 C
114.2002 54.1001 L
115.1001 54.6001 113.8999 54.8999 114.5 55.3999 C
115.1001 55.8999 115.6001 57 116.2998 57.5 C
116.3999 57.7002 117.1001 58.6001 117.3999 58 C
117.6001 58.2998 117.6001 58.3999 117.2002 58.7002 C
118.6001 60.2998 119.7998 61.2002 120.7002 62.8999 C
120.7998 62.7998 L
121.1001 63.1001 122.2998 64.3999 122.3999 65.2002 C
122.5 65 L
122.3999 65.8999 123.7002 65.7002 123.2002 66.6001 C
124 66.7002 124.2002 67.8999 124.3999 68.7998 C
125.7002 68.7998 124.8999 70 126 70.2998 C
125.5 71.3999 127.1001 71.2002 126.5 72.1001 C
126.7002 72.5 128 72.7002 127.7002 73.7998 C
128.7998 74 128 75.2002 128.7998 75.6001 C
129 76 129.3999 76.2998 129.2002 76.8999 C
129.3999 76.8999 129.3999 76.8999 129.5 76.7998 C
129.8999 76.8999 129.1001 77.3999 129.7002 77.2998 C
130.2002 77.7002 129.2998 78.2002 130.1001 78.5 C
130.1001 78.3999 130 78.2002 130.2002 78.1001 C
130.3999 78.3999 130.2998 78.8999 130.2998 79.2998 C
130.6001 79.1001 L
131 80.3999 L
131.2998 80.2002 L
131.6001 80.6001 131.2002 81.7002 131.6001 81.7002 C
131.8999 81.5 L
132 82.6001 L
132.2002 82.6001 132.2002 82.2998 132.3999 82.6001 C
132.6001 83.6001 L
132.7002 83.6001 132.7002 83.5 132.7998 83.5 C
132.7998 84.1001 L
133 84.1001 L
133.1001 85.1001 L
133.6001 85.1001 L
132.8999 86.2998 134.7998 86.2998 134.2002 87.6001 C
134.7002 88 135 88.7002 135.1001 89.2002 C
135.2002 90 L
136 90.5 135.7998 90.7998 136.1001 91.6001 C
136.6001 92 136.7002 93 136.7998 93.7998 C
136.7998 93.7002 L
f
0 J 0 w 4 M
177 105 m
173 105 L
172.5 55 135.373 20.021 91.479 20.021 c
47.5845 20.021 7.5 55.5 12 114.5 C
1.626 108.4907 L
1.4585 106.2656 1.3735 104.0176 1.3735 101.75 c
1.3735 52.8184 41.0415 13.1499 89.9731 13.1499 c
138.9048 13.1499 178 52 177 105 C
f
0.2 w
116.5 186.75 m
92.75 194.25 67 187.5 v
34.3887 178.9517 20.75 155.75 y
38.5 178.25 67.75 185.5 v
96.1782 192.5464 116.25 183.75 y
116.5 186.75 l
f
0 w
77.25 162 m
75 164.5 l
42.25 149.5 32.5 113.75 v
43 144.75 77.25 162 v
f
111 51.8335 m
109.937 52.9429 109.1665 52 108.1665 51.6665 c
107.1665 51.3335 102.1665 48.1665 98.1665 46.8335 c
94.1665 45.5 93.8335 45.1665 91.1665 45 c
88.5 44.8335 85.8335 44.1665 84 43.6665 c
82.1665 43.1665 80.3335 43.5 78.3335 44 c
76.3335 44.5 70.5 46.3335 67.3335 45.6665 c
64.1665 45 63.6665 43.1665 61.5 42.5 c
59.3335 41.8335 56.3335 41.6665 52.8335 43.3335 c
49.3335 45 47.0103 46.1846 45 47.3335 c
43.8335 48 42.9429 48.8501 42 50.5 c
41.3335 51.6665 38.4165 53.8335 35.5 55.8335 c
31.7988 58.3711 24.3335 63.6665 22.8335 65.5 c
27 57 28.5 55.3335 v
30 53.6665 30 52.3335 32.6665 52.3335 c
35.3335 52.3335 36.6665 51.8335 37.5 51 c
38 50.5 37.1665 50 35.8335 50.1665 c
34.9902 50.272 33.2739 50.1968 34.1665 48.6665 c
34.9165 48.75 35.5835 48.6665 v
36.25 48.5835 37.5 48.75 38.25 48.6665 c
39 48.5835 40.3335 48.1665 40.8335 47.4165 c
40.3335 46.75 39.3335 46.5 v
38.3335 46.25 37.1665 45.8335 37.75 45.3335 c
38.3335 44.8335 39.5835 44.3335 40.9165 44.5835 c
42.25 44.8335 44 45.25 44.6665 44.8335 c
45.3335 44.4165 44.8335 43.5835 43 43 c
41.1665 42.4165 40.9165 41.75 41.8335 41.4165 c
42.75 41.0835 44.5835 41.3335 45.5835 41.9165 c
46.5835 42.5 47 42.3335 47.4165 42.1665 c
47.8335 42 47.9165 41.4165 46.75 40.9165 c
45.5835 40.4165 44.5835 39.5 45.25 39.1665 c
45.9165 38.8335 48.3335 39.4165 49.1665 39.6665 c
50 39.9165 51.4165 40.25 52 39.8335 c
52.5835 39.4165 52.75 39 51.25 38.0835 c
49.75 37.1665 48.75 36.1665 49.3335 35.6665 c
49.9165 35.1665 51.3335 35.8335 52.0835 36.3335 c
52.8335 36.8335 55.4165 38.9165 56.25 38.3335 c
57.0835 37.75 55.9165 35.5 55.0835 34.5835 c
54.25 33.6665 53.8335 32.5 54.9165 32.0835 c
56 31.6665 56.6665 33 57.3335 33.75 c
58 34.5 63.4165 41.3335 64.4165 41 c
65.4165 40.6665 63.3335 36.5835 62.5 35.3335 c
61.6665 34.0835 59.25 29.9165 60.25 29.3335 c
61.25 28.75 64.0835 31.75 64.9165 33.25 c
65.75 34.75 67.9165 38.5835 68.75 38.25 c
69.5835 37.9165 69.5 36.0835 68.25 33.75 c
67 31.4165 64.9165 27.9165 66 27.25 c
67.0835 26.5835 69.3335 29.75 70.5835 32 c
71.8335 34.25 73.8335 38.25 74.9165 37.9165 c
76 37.5835 75.1665 35.25 74.0835 32.4165 c
73 29.5835 71.4165 25.8335 72.5835 25.5 c
73.75 25.1665 76.0835 27.6665 76.9165 29.9165 c
77.75 32.1665 80 37 81.25 36.6665 c
82.5 36.3335 81.8335 34.3335 81.4165 32.8335 c
81 31.3335 80.1665 28.0835 79.4165 26.6665 c
78.6665 25.25 78.8335 24.1665 79.4165 24.1665 c
80 24.1665 83.3335 28.5835 84.5 31.6665 c
85.6665 34.75 86.6665 37.8335 87.4165 38.1665 c
88.1665 38.5 88.1665 38.5 88.0835 37.8335 c
88 37.1665 88.0835 35.6665 87.9165 33.5835 c
87.75 31.5 87.25 28.4165 86.6665 27.1665 c
86.0835 25.9165 85.9165 23 86.75 23.0835 c
87.5835 23.1665 87.4165 24.5 88.25 25.25 c
89.0835 26 90.1665 28 90.5835 30.3335 c
91.75 31.9165 91.9165 33.3335 v
92.0835 34.75 92.5835 35.1665 92.8335 36.1665 c
93.0835 37.1665 93.3335 38.75 93.8335 38.5835 c
94.3335 38.4165 94.25 37.5835 94.3335 36.6665 c
94.4165 35.75 94.75 35 94.5 34.0835 c
94.25 33.1665 94.5 32.5835 94.3335 31.9165 c
94.1665 31.25 93.5835 29.8335 93.4165 28.5 c
93.25 27.1665 93.4165 25.9165 93.25 25.1665 c
93.0835 24.4165 93 23.0835 93.8335 23.6665 c
94.6665 24.25 95.5645 25.6519 95.75 28.25 c
95.8335 29.4165 96.9165 30.5 y
97.3335 30.75 97.4165 31.75 v
97.5 32.75 98.4165 37.3335 99.0835 37.25 c
99.75 37.1665 99.5835 36.6665 99.5835 35.6665 c
99.5835 34.6665 99.9165 32 99.5 30.25 c
99.0835 28.5 98.1665 24.25 98.6665 24.0835 c
99.1665 23.9165 100.8335 24.8335 101.1665 27.5835 c
101.5 30.3335 102.3335 31.75 102.4165 33.75 c
102.5 35.75 103.6665 38.5 104.3335 38.25 c
105 38 105 37.0835 105 36.25 c
105 35.4165 106 31.8335 105.5835 30.6665 c
105.1665 29.5 104.9165 27.0835 105 26.4165 c
105.0835 25.75 105.3335 24.75 105.8335 25.1665 c
106.3335 25.5835 106.9092 27.4375 107.25 30.25 c
107.5835 33 107.6665 34.9165 107.9165 35.8335 c
108.1665 36.75 107.9165 38.0835 108.25 38.5835 c
108.5835 39.0835 108.5835 39.4165 109.0835 38.5835 c
109.5835 37.75 110.25 36.5835 110.25 35.3335 c
110.25 34.0835 110.4165 30.1665 110 28.5 c
109.5835 26.8335 109.9165 26.0835 110.75 26.1665 c
111.7207 26.2637 112.5 28.1665 112.8335 31.3335 c
113.2173 34.9834 113.3335 41.6665 113 44.5835 c
112.6665 47.5 112.9165 49.8335 111 51.8335 c
f
LB
%AI5_EndLayer--
%%PageTrailer
gsave annotatepage grestore showpage
%%Trailer
Adobe_Illustrator_AI5 /terminate get exec
Adobe_ColorImage_AI6 /terminate get exec
Adobe_level2_AI5 /terminate get exec
%%EOF
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/introduciton.tex	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,10 @@
+\chapter{序論}
+\pagenumbering{arabic}
+
+\section{序論}
+\subsection{研究背景と目的}
+
+\newpage
+
+\subsection{本論文の構成}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/jlisting.sty	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,216 @@
+\NeedsTeXFormat{LaTeX2e}
+\def\filedate{2006/02/20}
+\def\fileversion{0.2}
+\ProvidesPackage{jlisting}[\filedate\space\fileversion\space(Thor)]
+%
+\newcount\lst@nextchar
+\let\lst@@ProcessSpace\lst@ProcessSpace
+\def\lst@ProcessSpace#1{%
+   \lst@check@chartype{#1}%
+      \lst@@ProcessSpace
+      \lst@whitespacetrue}
+\let\lst@@ProcessLetter\lst@ProcessLetter
+\def\lst@ProcessLetter#1#2{%
+   \lst@check@chartype{#2}%
+      {\lst@@ProcessLetter{#1}}%
+      \relax}
+\let\lst@@ProcessDigit\lst@ProcessDigit
+\def\lst@ProcessDigit#1#2{%
+   \lst@check@chartype{#2}%
+      {\lst@@ProcessDigit{#1}}%
+      \relax}
+\let\lst@@ProcessOther\lst@ProcessOther
+\def\lst@ProcessOther#1#2{%
+   \lst@check@chartype{#2}%
+      {\lst@@ProcessOther{#1}}%
+      \relax}
+\let\lst@@ProcessTabulator\lst@ProcessTabulator
+\def\lst@ProcessTabulator#1{%
+   \lst@check@chartype{#1}%
+      \lst@@ProcessTabulator
+      \relax}
+\def\lst@check@chartype#1#2#3{%
+   \edef\@tempa{\lst@nextchar=`\string#1\relax}%
+   \afterassignment\remove@to@nnil
+   \@tempa\@nnil
+   #2%
+   \ifnum\lst@nextchar<\@cclvi
+      #3%
+   \else
+      \lst@ifletter \else \lst@OutputOther \fi
+      \lst@whitespacefalse
+      \expandafter\lst@AppendJchar
+   \fi
+   #1}
+\def\lst@AppendJchar#1#2{%
+   \lst@check@chartype{#2}%
+      {\advance\lst@length\@ne\lst@Append{#1}}%
+      \relax}
+\def\lst@check@chartype@BOL#1{%
+   \edef\@tempa{\lst@nextchar=`\string#1\relax}%
+   \afterassignment\remove@to@nnil
+   \@tempa\@nnil
+   \ifnum\lst@nextchar<\@cclvi\else
+      \lst@whitespacefalse
+      \expandafter\lst@AppendJchar
+   \fi
+   #1}
+\def\lst@InputListing#1{%
+   \begingroup
+      \lsthk@PreSet \gdef\lst@intname{#1}%
+      \expandafter\lstset\expandafter{\lst@set}%
+      \lsthk@DisplayStyle
+      \catcode\active=\active
+      \lst@Init\relax \let\lst@gobble\z@
+      \lst@SkipToFirst
+      \lst@ifprint \def\lst@next{\lst@get@filecontents{#1}}%
+      \else        \let\lst@next\@empty
+      \fi
+      \lst@next
+      \lst@DeInit
+   \endgroup}
+\newread\lst@inputfile
+\def\lst@get@filecontents#1{%
+   \let\lst@filecontents\@empty
+   \openin\lst@inputfile=#1\relax
+   \let\@lst@get@filecontents@prevline\relax
+   \lst@get@filecontents@loop
+   \closein\lst@inputfile
+   \lst@filecontents\empty}
+\def\lst@get@filecontents@loop{%
+   \read\lst@inputfile to\@lst@get@filecontents@currline
+   \ifx\@lst@get@filecontents@prevline\relax\else
+      \expandafter\expandafter\expandafter\def
+      \expandafter\expandafter\expandafter\lst@filecontents
+      \expandafter\expandafter\expandafter{%
+         \expandafter\lst@filecontents\@lst@get@filecontents@prevline}%
+   \fi
+   \let\@lst@get@filecontents@prevline\@lst@get@filecontents@currline
+   \ifeof\lst@inputfile\else
+      \expandafter\lst@get@filecontents@loop
+   \fi}
+%%% [$B$3$N=hM}$b!$AjEv6/0z$G$9!%(B]
+\def\lst@BOLGobble{%
+   \ifnum\lst@gobble>\z@
+      \@tempcnta\lst@gobble\relax
+      \expandafter\lst@BOLGobble@
+   \else
+      \expandafter\lst@check@chartype@BOL
+   \fi}
+\def\lst@BOLGobble@#1{%
+   \let\lst@next#1%
+   \ifx \lst@next\relax\else
+   \ifx \lst@next\lst@MProcessListing\else
+   \ifx \lst@next\lst@ProcessFormFeed\else
+   \ifx \lst@next\lstenv@backslash
+      \let\lst@next\lstenv@BOLGobble@@
+   \else
+      \let\lst@next\lst@BOLGobble@@
+      \ifx #1\lst@ProcessTabulator
+         \advance\@tempcnta-\lst@tabsize\relax
+         \ifnum\@tempcnta<\z@
+            \lst@length-\@tempcnta \lst@PreGotoTabStop
+         \fi
+      \else
+         \edef\@tempa{\lst@nextchar=`\string#1\relax}%
+         \@tempa
+         \ifnum\lst@nextchar<\@cclvi\else
+            \advance\@tempcnta\m@ne
+         \fi
+         \advance\@tempcnta\m@ne
+      \fi
+   \fi \fi \fi \fi
+   \lst@next}
+\def\lst@BOLGobble@@{%
+   \ifnum\@tempcnta>\z@
+      \expandafter\lst@BOLGobble@
+   \else
+      \expandafter\lst@check@chartype@BOL
+   \fi
+}
+%
+%    \begin{$B=$@5;v9`(B}{1.3}
+% $B$A$g$C$H$7$?=$@5(B
+\gdef\lst@breakProcessOther#1{\lst@ProcessOther#1}
+% $B%=!<%9%3!<%IL\<!$K$*$1$kJ8;z$HHV9f$N6u$-(B
+\let \l@lstlisting = \l@figure
+% $B%-%c%W%7%g%s$H%=!<%9%3!<%IL\<!$KBP$9$kF|K\8lBP1~(B
+\def\lstlistingname{$B%=!<%9%3!<%I(B}
+\def\lstlistlistingname{$B%=!<%9%3!<%IL\<!(B}
+%    \end{$B=$@5;v9`(B}
+\endinput
+% 
+%#!platex
+\documentclass[papersize]{jsarticle}
+% Macros
+\IfFileExists{dvipdfmx.def}{%
+  \usepackage[dvipdfmx]{color,graphicx}%
+}{%
+  \usepackage[dvipdfm]{color,graphicx}%
+}
+\usepackage{listings}[2004/09/07]
+\usepackage{jlisting}[2006/02/20]
+\usepackage{url} 
+\usepackage{verbatim}
+
+\makeatletter
+% Original Macros
+\def\email#1{\gdef\@email{\texttt{#1}}}
+\def\homepage#1{\gdef\@homepage{\texttt{#1}}}
+\def\mac#1{\textsf{#1}}
+\def\URL#1{\texttt{#1}}
+\def\src#1{\texttt{#1}}
+
+% Dvipdfmx.def 
+\def\dvipdfmxDefi{http://tex.dante.jp/ok/dvipdfmx/}
+\def\dvipdfmxDefii{http://ftp.ktug.or.kr/KTUG/dvipdfmx/contrib/latex/}
+
+\IfFileExists{dvipdfmx.def}{%
+   \let \IfDvipdfmxDef = \empty \relax}{%
+   \typeout{^^Jget dvipdfmx.def at \dvipdfmxDefi^^J
+            or \dvipdfmxDefii^^J}%
+   \def\IfDvipdfmxDef{Get \src{dvipdfmx.def} at \URL \dvipdfmxDefii \\ 
+      or \URL \dvipdfmxDefi.}%
+}
+
+% Author Info
+\author   {Th\'or Watanabe\thanks \@email \space \thanks \@homepage}
+\title    {\mac{jlisting.sty}\\
+          ---Japanese Localized Patch File of \mac{listings}---}
+\email    {thor@tex.dante.jp}
+\homepage {http://tex.dante.jp/typo/}
+\date     {2006/02/20}
+
+\makeatother
+
+\begin{document}
+\maketitle
+%\IfDvipdfmxDef
+
+\section{$B$A$g$C$H$7$?@bL@(B}% Short Description
+ 
+$B1|B<@2I';a$N7G<(HD$N!VHFMQE*$JIbF0BN!W$H$$$&0lO"$N=q$-9~$_$+$i(B
+$BE>:\$7$^$7$?!#(B
+
+\begin{quote}
+ \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21172.html}\\
+ \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21184.html}\\
+ \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21189.html}\\
+ \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21197.html}
+\end{quote}
+
+ Copyright $B$O5H1JE/H~;a$K$"$k$N$@$H;W$$$^$9!%(B
+ 
+\section{$B99?7MzNr(B}% ChageLogs
+
+\begin{description}
+ \item[ver.~0.1 (2004/03/24)]
+   $B$H$j$"$($:8x3+!%(B
+ \item[ver.~0.2 (2006/02/20)] 
+   \verb|\lst@breakProcessOther| $BL?Na$NDj5A$NDI2C!%(B
+\end{description}
+
+\section{$B%=!<%9%3!<%I(B}
+\par\narrowbaselines
+\verbatiminput{jlisting.sty}
+\end{document}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/judge.tex	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,29 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%論文審査会委員署名用ページ%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\pagestyle{empty} 
+\vspace*{5cm}
+本論文は、修士(工学)の学位論文として適切であると認める。
+\vspace*{2cm}
+\begin{flushright}
+%¥makebox[10cm][l]{
+\begin{minipage}[t]{7cm}
+\begin{center}
+{\bf 論 文 審 査 会}
+\end{center}
+
+\vspace{1cm}
+\underline{\hspace{6cm}印}\\ 
+(主\hspace{1em}査)\hspace{1em}和田 知久 氏
+
+\vspace{1cm}
+\underline{\hspace{6cm}印}\\ 
+(副\hspace{1em}査)\hspace{1em}名嘉村 盛和 氏
+
+\vspace{1cm}
+\underline{\hspace{6cm}印}\\ 
+(副\hspace{1em}査)\hspace{1em}山田 孝治 氏
+
+\end{minipage}
+\end{flushright}
+\newpage
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/listings.dtx	Wed Jan 08 04:40:03 2014 +0900
@@ -0,0 +1,16516 @@
+% \iffalse
+%
+% Trademarks appear throughout this documentation without any trademark
+% symbol, so you can't assume that a name is free. There is no intention
+% of infringement; the usage is to the benefit of the trademark owner.
+%
+%
+%  S O F T W A R E   L I C E N S E
+% =================================
+%
+% The files  listings.dtx  and  listings.ins  and all files generated
+% from only these two files are referred to as `the listings package'
+% or simply `the package'. lstdrvrs.dtx  and the files generated from
+% that file are `drivers'.
+%
+% The listings package is copyright 1996--2004 Carsten Heinz, and 
+% continued maintenance on the package is copyright 2006--2007 Brooks Moses.
+% The drivers are copyright 1997/1998/1999/2000/2001/2002/2003/2004/2006/
+% 2007 any individual author listed in the driver files.
+%
+% The listings package and its drivers may be distributed and/or modified
+% under the conditions of the LaTeX Project Public License, either version
+% 1.3 of this license or (at your option) any later version.
+% The latest version of this license is in
+%   http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% The package has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer is Brooks Moses <bmoses@dpdx.net>.
+%
+% end of software license
+%
+%
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\DisableCrossrefs
+\OnlyDescription
+
+\usepackage{lstdoc,textcomp}
+\makeindex
+
+\begin{document}
+    \DocInput{listings.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%^^A
+%^^A  Command/key to aspect relation
+%^^A ================================
+%^^A
+%\lstisaspect[strings]{string,morestring,deletestring,stringstyle,showstringspaces}
+%\lstisaspect[comments]{comment,morecomment,deletecomment,commentstyle}
+%\lstisaspect[comment styles]{b,d,l,n,s,ib,id,il,in,is}
+%\lstisaspect[pod]{printpod,podcomment}
+%\lstisaspect[escape]{texcl,escapebegin,escapeend,escapechar,escapeinside,mathescape}
+%\lstisaspect[keywords]{sensitive,classoffset,keywords,morekeywords,deletekeywords,keywordstyle,ndkeywords,morendkeywords,deletendkeywords,ndkeywordstyle,keywordsprefix,otherkeywords}
+%\lstisaspect[emph]{emph,moreemph,deleteemph,emphstyle}
+%\lstisaspect[tex]{texcs,moretexcs,deletetexcs,texcsstyle}
+%\lstisaspect[directives]{directives,moredirectives,deletedirectives,directivestyle}
+%\lstisaspect[html]{tag,usekeywordsintag,tagstyle,markfirstintag}
+%\lstisaspect[keywordcomments]{keywordcomment,morekeywordcomment,deletekeywordcomment,keywordcommentsemicolon}
+%\lstisaspect[index]{index,moreindex,deleteindex,indexstyle,\string\lstindexmacro}
+%\lstisaspect[procnames]{procnamestyle,indexprocnames,procnamekeys,moreprocnamekeys,deleteprocnamekeys}
+%\lstisaspect[style]{style,\string\lstdefinestyle,\string\lst@definestyle,\string\lststylefiles}
+%\lstisaspect[language]{language,alsolanguage,defaultdialect,\string\lstalias,\string\lstdefinelanguage,\string\lst@definelanguage,\string\lstloadlanguages,\string\lstlanguagefiles}
+%\lstisaspect[formats]{format,fmtindent,\string\lstdefineformat,\string\lst@defineformat,\string\lstformatfiles}
+%\lstisaspect[labels]{numbers,numberstyle,numbersep,stepnumber,numberblanklines,firstnumber,\string\thelstnumber,numberfirstline}
+%\lstisaspect[lineshape]{xleftmargin,xrightmargin,resetmargins,linewidth,lineskip,breaklines,breakindent,breakautoindent,prebreak,postbreak,breakatwhitespace}
+%\lstisaspect[frames]{framexleftmargin,framexrightmargin,framextopmargin,framexbottommargin,backgroundcolor,fillcolor,rulecolor,rulesepcolor,rulesep,framerule,framesep,frameshape,frameround,frame}
+%\lstisaspect[make]{makemacrouse}
+%\lstisaspect[fancyvrb]{fancyvrb,fvcmdparams,morefvcmdparams}
+%\lstisaspect[lgrind]{lgrindef,\string\lstlgrindeffile}
+%\lstisaspect[hyper]{hyperref,morehyperref,deletehyperref,hyperanchor,hyperlink}
+%\lstisaspect[kernel]{basewidth,fontadjust,columns,flexiblecolumns,identifierstyle,^^A
+%   tabsize,showtabs,tab,showspaces,keepspaces,formfeed,SelectCharTable,^^A
+%   MoreSelectCharTable,extendedchars,alsoletter,alsodigit,alsoother,excludedelims,^^A
+%   literate,basicstyle,print,firstline,lastline,linerange,nolol,captionpos,abovecaptionskip,^^A
+%   belowcaptionskip,label,title,caption,\string\lstlistingname,boxpos,float,^^A
+%   floatplacement,aboveskip,belowskip,everydisplay,showlines,emptylines,gobble,name,^^A
+%   \string\lstname,\string\lstlistlistingname,\string\lstlistoflistings,^^A
+%   \string\lstnewenvironment,\string\lstinline,\string\lstinputlisting,lstlisting,^^A
+%   \string\lstloadaspects,\string\lstset,\string\thelstlisting,\string\lstaspectfiles,^^A
+%   inputencoding,delim,moredelim,deletedelim,upquote,numberbychapter,^^A
+%   \string\lstMakeShortInline,\string\lstDeleteShortInline}
+%\lstisaspect[doc]{lstsample,lstxsample}^^A environment
+%\lstisaspect[experimental]{includerangemarker,rangebeginprefix,rangebeginsuffix,rangeendprefix,rangeendsuffix,rangeprefix,rangesuffix}
+%
+%^^A
+%^^A  The long awaited beginning of documentation
+%^^A =============================================
+%^^A
+%\newbox\abstractbox
+%\setbox\abstractbox=\vbox{
+%	\begin{abstract}
+%	The \packagename{listings} package is a source code printer for \LaTeX.
+%	You can typeset stand alone files as well as listings with an environment
+%   similar to \texttt{verbatim} as well as you can print code snippets using
+%   a command similar to |\verb|.
+%	Many parameters control the output and if your preferred programming
+%   language isn't already supported, you can make your own definition.
+%	\end{abstract}}
+%
+% \title{\vspace*{-2\baselineskip}The \textsf{Listings} Package}
+% \author{Copyright 1996--2004, Carsten Heinz%
+%    \\ Copyright 2006--2007, Brooks Moses
+%    \\ Maintainer: Brooks Moses\thanks{Brooks %
+%       Moses became the maintainer of the \packagename{listings}
+%       package in 2006; see the Preface for details.}~ %
+%    \textless\lstemail\textgreater}
+% \date{2007/02/22\enspace\enspace Version 1.4\\ \box\abstractbox}
+% \def\lstemail{\href{mailto:bmoses@dpdx.net}{\texttt{bmoses@dpdx.net}}}
+% \ifhyper
+%    \hypersetup{pdfsubject=Package guide,pdfauthor=Brooks Moses <bmoses@dpdx.net>}
+% \fi
+%
+% \csname @twocolumntrue\endcsname
+% \maketitle
+%^^A \enlargethispage{2\baselineskip}
+% \csname @starttoc\endcsname{toc}
+% \onecolumn
+%
+%
+% \section*{Preface}
+%
+% \paragraph{Transition of package maintenance}
+% The \TeX\ world lost contact with Carsten Heinz in late 2004, shortly after 
+% he released version 1.3b of the \packagename{listings} package.  After many
+% attempts to reach him had failed, Hendri Adriaens took over maintenance of
+% the package in accordance with the LPPL's procedure for abandoned packages.
+% He then passed the maintainership of the package to Brooks Moses, who had
+% volunteered for the position while this procedure was going through.
+%
+% This release, version 1.4, is the first substantial bugfix release since 
+% I accepted maintainership of the package.  I would like to thank the
+% numerous people who reported bugs to me, and particularly those who 
+% suggested fixes.  Thanks in addition to those who provided
+% new language definitions and suggestions for improvements.
+%
+% \paragraph{News and changes}
+% Version 1.4 is the fourth bugfix release.  There are no substantial changes
+% in this version, but a number of minor changes and fixes.  The primary news
+% is that the documentation has been substantially copyedited, and improved 
+% in a number of ways to document workarounds and things learned from the 
+% recent bug reports.
+%
+% A |numberbychapter| key has been added, to control whether listings are 
+% numbered sequentially or by chapter in document classes that provide 
+% chapters.
+%
+% The |\lstMakeShortInline| command can be used to define single-character
+% inline-listing macros, much like the \packagename{shortvrb} package
+% allows for verbatim inline text.
+%
+% A new |spaceflexible| column alignment style has been added, which is
+% similar to the |flexible| style except that it only inserts extra space
+% to recover the column alignment at locations where there is already
+% existing space.
+%
+% A |s| string type has been added, akin to the |s| comment type.  This is
+% used in the Ruby language definition.
+%
+% The |\lst@for| routine has been sped up substantially, thanks to some code
+% provided by Hendri Adriaens.  Hopefully this will result in a significant
+% speedup of the runtime of the overall package.
+%
+% Among the bugs fixed are the |*| option to |texcs|, which was quite badly 
+% broken; the interaction of background colors with inline listings and with
+% frames; listing captions being broken in AMS document classes; and better
+% integration of the list of listings with KOMAscript document class and other
+% document clases that use the |\float@addtolists| mechanism.
+%
+% The following languages were added: |command.com| (DOS/Windows) batch files, 
+% Common Intermediate Language, Lingo, Postscript, PSTricks, and SPARQL.
+% The following dialects of existing languages were added: Ada (2005),
+% Assembler (Motorola68k), and Mathematica (5.2).  The definitions for ABAP,
+% Fortran, Octave, Python, Ruby, and TCL have been improved.  Thanks go to the
+% contributers.
+%
+% \vfill
+% \paragraph{Thanks}
+% There are many people I have to thank for fruitful communication, posting
+% their ideas, giving error reports, adding programming languages to
+% \texttt{lstdrvrs.dtx}, and so on. Their names are listed in section
+% \ref{uClosingAndCredits}.
+%
+% \paragraph{Trademarks}
+% Trademarks appear throughout this documentation without any trademark
+% symbol; they are the property of their respective trademark owner.
+% There is no intention of infringement; the usage is to the benefit of the
+% trademark owner.
+%
+%
+% \clearpage
+%
+%
+% \part{User's guide}
+%
+%
+% \section{Getting started}\label{uGettingStarted}
+%
+%
+% \subsection{A minimal file}\label{uAMinimalFile}
+%
+% Before using the \packagename{listings} package, you should be familiar with
+% the \LaTeX\ typesetting system. You need not to be an expert.
+% Here is a minimal file for \packagename{listings}.
+% \begin{verbatim}
+%    \documentclass{article}
+%    \usepackage{listings}
+%
+%    \begin{document}
+%    \lstset{language=Pascal}
+%
+%      % Insert Pascal examples here.
+%
+%    \end{document}\end{verbatim}
+% Now type in this first example and run it through \LaTeX.
+% \begin{advise}
+% \item Must I do that really?
+%       \advisespace
+%       Yes and no. Some books about programming say this is good.
+%       What a mistake! Typing takes time---which is wasted if the code is clear to
+%       you. And if you need that time to understand what is going on, the
+%       author of the book should reconsider the concept of presenting the
+%       crucial things---you might want to say that about this guide even---or
+%       you're simply inexperienced with programming. If only the latter case
+%       applies, you should spend more time on reading (good) books about
+%       programming, (good) documentations, and (good) source code from other
+%       people. Of course you should also make your own experiments.
+%       You will learn a lot. However, running the example through \LaTeX\ 
+%       shows whether the \packagename{listings} package is installed correctly.
+% \item The example doesn't work.
+%       \advisespace
+%       Are the two packages \packagename{listings} and \packagename{keyval}
+%       installed on your system? Consult the administration tool of your
+%       \TeX\ distribution, your system administrator, the local \TeX\ and
+%       \LaTeX\ guides, a \TeX\ FAQ, and section \ref{rInstallation}---in
+%       that order. If you've checked \emph{all} these sources and are
+%       still helpless, you might want to write a post to a \TeX\ newsgroup
+%       like \texttt{comp.text.tex}.
+% \item Should I read the software license before using the package?
+%       \advisespace
+%       Yes, but read this \emph{Getting started} section first to decide
+%       whether you are willing to use the package.^^A ;-)
+% \end{advise}
+%
+%
+% \subsection{Typesetting listings}
+%
+% Three types of source codes are supported: code snippets, code segments, and
+% listings of stand alone files.  Snippets are placed inside paragraphs and the
+% others as separate paragraphs---the difference is the same as between text
+% style and display style formulas.
+% \begin{advise}
+% \item No matter what kind of source you have, if a listing contains national
+%       characters like \'e, \L, \"a, or whatever, you must tell the
+%       package about it! Section \lstref{uSpecialCharacters} discusses this issue.
+% \end{advise}
+%
+% \paragraph{Code snippets}
+% The well-known \LaTeX\ command |\verb| typesets code snippets verbatim.
+% The new command |\lstinline| pretty-prints the code, for example
+%`\lstinline!var i:integer;!' is typeset by
+%`{\rstyle|\lstinline|}|!var i:integer;!|'. The exclamation marks delimit
+% the code and can be replaced by any character not in the code;
+% |\lstinline$var i:integer;$| gives the same result.
+%
+% \paragraph{Displayed code}
+% The \texttt{lstlisting} environment typesets the enclosed source code. Like
+% most examples, the following one shows verbatim \LaTeX\ code on the right
+% and the result on the left. You might take the right-hand side, put it into
+% the minimal file, and run it through \LaTeX.
+% \begin{lstsample}[lstlisting]{}{}
+%    \begin{lstlisting}
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%
+%    Write('Case insensitive ');
+%    WritE('Pascal keywords.');
+%    \end{lstlisting}
+% \end{lstsample}
+% It can't be easier.
+% \begin{advise}
+% \item That's not true. The name `\texttt{listing}' is shorter.
+%       \advisespace
+%       Indeed. But other packages already define environments with that name.
+%       To be compatible with such packages, all commands and environments of
+%       the \packagename{listings} package use the prefix `\texttt{lst}'.
+% \end{advise}
+% The environment provides an optional argument. It tells the package to
+% perform special tasks, for example, to print only the lines 2--5:
+% \begin{lstsample}{\lstset{frame=trbl,framesep=0pt}\label{gFirstKey=ValueList}}{}
+%    \begin{lstlisting}[firstline=2,
+%                       lastline=5]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%
+%    Write('Case insensitive ');
+%    WritE('Pascal keywords.');
+%    \end{lstlisting}
+% \end{lstsample}
+% \begin{advise}
+% \item Hold on! Where comes the frame from and what is it good for?
+%       \advisespace
+%       You can put frames around all listings except code snippets.
+%       You will learn how later. The frame shows that empty lines at the end
+%       of listings aren't printed. This is line 5 in the example.
+% \item Hey, you can't drop my empty lines!
+%       \advisespace
+%       You can tell the package not to drop them:
+%       The key `\ikeyname{showlines}' controls these empty lines and is
+%       described in section \ref{rTypesettingListings}. Warning: First
+%       read ahead on how to use keys in general.
+% \item I get obscure error messages when using `\ikeyname{firstline}'.
+%       \advisespace
+%       That shouldn't happen. Make a bug report as described in section
+%       \lstref{uTroubleshooting}.
+% \end{advise}
+%
+% \paragraph{Stand alone files}
+% Finally we come to |\lstinputlisting|, the command used to pretty-print
+% stand alone files. It has one optional and one file name argument.
+% Note that you possibly need to specify the relative path to the file.
+% Here now the result is printed below the verbatim code since both together
+% don't fit the text width.
+% \begin{lstsample}{\lstset{comment=[l]\%,columns=fullflexible}}{\lstset{alsoletter=\\,emph=\\lstinputlisting,emphstyle=\rstyle}\lstaspectindex{\lstinputlisting}{}}
+%    \lstinputlisting[lastline=4]{listings.sty}
+% \end{lstsample}
+% \begin{advise}
+% \item The spacing is different in this example.
+%       \advisespace
+%       Yes. The two previous examples have aligned columns, i.e.~columns with
+%       identical numbers have the same horizontal position---this package
+%       makes small adjustments only. The columns in the example here are not
+%       aligned. This is explained in section \ref{uFixedAndFlexibleColumns}
+%       (keyword: full flexible column format).
+% \end{advise}
+%
+% Now you know all pretty-printing commands and environments. It remains
+% to learn the parameters which control the work of the \packagename{listings}
+% package. This is, however, the main task. Here are some of them.
+%
+%
+% \subsection{Figure out the appearance}\label{gFigureOutTheAppearance}
+%
+% Keywords are typeset bold, comments in italic shape, and spaces in strings
+% appear as \textvisiblespace. You don't like these settings? Look at this:
+%\ifcolor
+% \begin{lstxsample}[basicstyle,keywordstyle,identifierstyle,commentstyle,stringstyle,showstringspaces]
+%    \lstset{% general command to set parameter(s)
+%        basicstyle=\small,          % print whole listing small
+%        keywordstyle=\color{black}\bfseries\underbar,
+%                                    % underlined bold black keywords
+%        identifierstyle=,           % nothing happens
+%        commentstyle=\color{white}, % white comments
+%        stringstyle=\ttfamily,      % typewriter type for strings
+%        showstringspaces=false}     % no special string spaces
+% \end{lstxsample}
+%\else
+% \begin{lstxsample}[basicstyle,keywordstyle,identifierstyle,commentstyle,stringstyle,showstringspaces]
+%    \lstset{% general command to set parameter(s)
+%        basicstyle=\small,          % print whole listing small
+%        keywordstyle=\bfseries\underbar,
+%                                    % underlined bold keywords
+%        identifierstyle=,           % nothing happens
+%        commentstyle=\itshape,      % default
+%        stringstyle=\ttfamily,      % typewriter type for strings
+%        showstringspaces=false}     % no special string spaces
+% \end{lstxsample}
+%\fi
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%
+%    Write('Case insensitive ');
+%    WritE('Pascal keywords.');
+%    \end{lstlisting}
+% \end{lstsample}
+%\ifcolor
+% \begin{advise}
+% \item You've requested white coloured comments, but I can see the comment
+%       on the left side.
+%       \advisespace
+%       There are a couple of possible reasons:
+%       (1) You've printed the documentation on nonwhite paper.
+%       (2) If you are viewing this documentation as a \texttt{.dvi}-file, your
+%           viewer seems to have problems with colour specials. Try to print
+%           the page on white paper.
+%       (3) If a printout on white paper shows the comment, the colour
+%           specials aren't suitable for your printer or printer driver.
+%           Recreate the documentation and try it again---and ensure that
+%           the \packagename{color} package is well-configured.
+% \end{advise}
+%\fi
+% The styles use two different kinds of commands. |\ttfamily| and |\bfseries|
+% both take no arguments but |\underbar| does; it underlines the following
+% argument. In general, the \emph{very last} command may read exactly one
+% argument, namely some material the package typesets. There's one exception.
+% The last command of \ikeyname{basicstyle} \emph{must not} read any
+% tokens---or you will get deep in trouble.
+% \begin{advise}
+% \item `|basicstyle=\small|' looks fine, but comments look really bad with
+%       `|commentstyle=\tiny|' and empty basic style, say.
+%       \advisespace
+%       Don't use different font sizes in a single listing.
+% \item But I really want it!
+%       \advisespace
+%       No, you don't.
+%^^A       The package adjusts internal data after selecting the basic style at
+%^^A       the beginning of each listing. This is a problem if you change the
+%^^A       font size for comments or strings, for example.
+%^^A       Section \ref{rColumnAlignment} shows how to overcome this.
+%^^A       But once again: Don't use different font sizes in a single listing
+%^^A       unless you really know what you are doing.
+% \end{advise}
+%
+% \paragraph{Warning}\label{wStrikingStyles}
+% You should be very careful with striking styles; the recent example is rather
+% moderate---it can get horrible. \emph{Always use decent highlighting.}
+% Unfortunately it is difficult to give more recommendations since they depend
+% on the type of document you're creating. Slides or other presentations often
+% require more striking styles than books, for example.
+% In the end, it's \emph{you} who have to find the golden mean!
+%
+%
+% \subsection{Seduce to use}\label{gSeduceToUse}
+%
+% You know all pretty-printing commands and some main parameters. Here now
+% comes a small and incomplete overview of other features. The table of
+% contents and the index also provide information.
+%
+% \paragraph{Line numbers}
+% are available for all displayed listings, e.g.~tiny numbers on the left, each
+% second line, with 5pt distance to the listing:
+% \begin{lstxsample}[numbers,numberstyle,stepnumber,numbersep]
+%    \lstset{numbers=left, numberstyle=\tiny, stepnumber=2, numbersep=5pt}
+% \end{lstxsample}
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%
+%    Write('Case insensitive ');
+%    WritE('Pascal keywords.');
+%    \end{lstlisting}
+% \end{lstsample}
+% \begin{advise}
+% \item I can't get rid of line numbers in subsequent listings.
+%       \advisespace
+%       `|numbers=none|' turns them off.
+% \item Can I use these keys in the optional arguments?
+%       \advisespace
+%       Of course. Note that optional arguments modify values for one
+%       particular listing only: you change the appearance, step or distance
+%       of line numbers for a single listing. The previous values are
+%       restored afterwards.
+% \end{advise}
+% The environment allows you to interrupt your listings: you can end a listing
+% and continue it later with the correct line number even if there are other
+% listings in between. Read section \ref{uLineNumbers} for a thorough
+% discussion.
+%
+% \paragraph{Floating listings}
+% Displayed listings may float:
+% \begin{lstsample}{\lstset{frame=tb}}{}
+%    \begin{lstlisting}[float,caption=A floating example]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%
+%    Write('Case insensitive ');
+%    WritE('Pascal keywords.');
+%    \end{lstlisting}
+% \end{lstsample}
+% Don't care about the parameter \ikeyname{caption} now. And if you put the
+% example into the minimal file and run it through \LaTeX, please don't wonder:
+% you'll miss the horizontal rules since they are described elsewhere.
+% \begin{advise}
+% \item \LaTeX's float mechanism allows one to determine the placement of floats.
+%       How can I do that with these?
+%       \advisespace
+%       You can write `|float=tp|', for example.
+% \end{advise}
+%
+% \paragraph{Other features}
+% There are still features not mentioned so far: automatic breaking of long
+% lines, the possibility to use \LaTeX\ code in listings, automated indexing,
+% or personal language definitions.
+% One more little teaser? Here you are. But note that the result is not
+% produced by the \LaTeX\ code on the right alone. The main parameter is
+% hidden.
+% \begin{lstsample}{\lstset{literate={:=}{{$\gets$}}1 {<=}{{$\leq$}}1 {>=}{{$\geq$}}1 {<>}{{$\neq$}}1}}{}
+%    \begin{lstlisting}
+%    if (i<=0) then i := 1;
+%    if (i>=0) then i := 0;
+%    if (i<>0) then i := 0;
+%    \end{lstlisting}
+% \end{lstsample}
+%
+% You're not sure whether you should use \packagename{listings}?
+% Read the next section!
+%
+%
+% \subsection{Alternatives}
+%
+% \begin{advise}
+% \item Why do you list alternatives?
+%       \advisespace
+%       Well, it's always good to know the competitors.^^A :-)
+% \item I've read the descriptions below and the \packagename{listings} package
+%       seems to incorporate all the features. Why should I use one of the
+%       other programs?
+%       \advisespace
+%       Firstly, the descriptions give a taste and not a complete overview,
+%       secondly, \packagename{listings} lacks some properties, and, ultimately,
+%       you should use the program matching your needs most precisely.
+% \end{advise}
+% This package is certainly not the final utility for typesetting source code.
+% Other programs do their job very well, if you are not satisfied with
+% \packagename{listings}. Some are independent of \LaTeX, others come as
+% separate program plus \LaTeX\ package, and others are packages which
+% don't pretty-print the source code. The second type includes converters,
+% cross compilers, and preprocessors. Such programs create \LaTeX\ files
+% you can use in your document or stand alone ready-to-run \LaTeX\ files.
+%
+% Note that I'm not dealing with any literate programming tools here, which
+% could also be alternatives. However, you should have heard of the
+% \texttt{WEB} system, the tool Prof.~Donald E.~Knuth developed and made use
+% of to document and implement \TeX.
+%
+% \paragraph{\href{http://www.infres.enst.fr/~demaille/a2ps}{\packagename{a2ps}}}
+% started as `ASCII to PostScript' converter, but today you can invoke the
+% program with \texttt{--pretty-print=}\meta{language} option. If your
+% favourite programming language is not already supported, you can write your
+% own so-called style sheet. You can request line numbers, borders, headers,
+% multiple pages per sheet, and many more. You can even print symbols like
+% $\forall$ or $\alpha$ instead of their verbose forms. If you just want
+% program listings and not a document with some listings, this is the best
+% choice.
+%
+% \paragraph{\href{http://www.ctan.org/tex-archive/nonfree/support/lgrind}{\packagename{LGrind}}}
+% is a cross compiler and comes with many predefined programming languages.
+% For example, you can put the code on the right in your document, invoke
+% \packagename{LGrind} with \texttt{-e} option (and file names), and run the
+% created file through \LaTeX. You should get a result similar to the
+% left-hand side:
+% \begin{center}
+% \begin{minipage}{0.45\linewidth}
+%\iflgrind
+%    \LGindent=0pt
+%    \LGinlinefalse\LGbegin\lgrinde
+%    \L{\LB{\K{for}_\V{i}:=\V{maxint}_\K{to}_\N{0}_\K{do}}}
+%    \L{\LB{\K{begin}}}
+%    \L{\LB{____\C{}\{_do_nothing_\}\CE{}}}
+%    \L{\LB{\K{end};}}
+%    \L{\LB{}}
+%    \L{\LB{\V{Write}(\S{}{'}Case_insensitive_{'}\SE{});}}
+%    \L{\LB{\V{WritE}(\S{}{'}Pascal_keywords.{'}\SE{});}}
+%    \endlgrinde\LGend
+%\else
+%    \packagename{LGrind} not installed.
+%\fi
+% \end{minipage}
+% \begin{minipage}{0.45\linewidth}
+% \begin{verbatim}
+% %[
+% for i:=maxint to 0 do
+% begin
+%     { do nothing }
+% end;
+%
+% Write('Case insensitive ');
+% WritE('Pascal keywords.');
+% %]\end{verbatim}
+% \end{minipage}
+% \end{center}
+% If you use |%(| and |%)| instead of |%[| and |%]|, you get a code snippet
+% instead of a displayed listing. Moreover you can get line numbers to the
+% left or right, use arbitrary \LaTeX\ code in the source code, print symbols
+% instead of verbose names, make font setup, and more. You will (have to)
+% like it (if you don't like \packagename{listings}).
+%
+% Note that \packagename{LGrind} contains code with a no-sell license and is
+% thus nonfree software.
+%
+% \paragraph{\href{ftp://axp3.sv.fh-mannheim.de/cvt2latex}{\packagename{cvt2ltx}}}
+% is a family of `source code to \LaTeX' converters for C, Objective C, \Cpp,
+% IDL and Perl. Different styles, line numbers and other qualifiers can be
+% chosen by command-line option. Unfortunately it isn't documented how other
+% programming languages can be added.
+%
+% \paragraph{\href{http://www.ctan.org/tex-archive/support/C++2LaTeX-1_1pl1}{\packagename{\Cpp2\LaTeX}}}
+% is a C/\Cpp\ to \LaTeX\ converter. You can specify the fonts for comments,
+% directives, keywords, and strings, or the size of a tabulator. But as far as
+% I know you can't number lines.
+%
+% \paragraph{\href{http://www.ctan.org/tex-archive/support/slatex}{\packagename{S\LaTeX}}}
+% is a pretty-printing Scheme program (which invokes \LaTeX\ automatically)
+% especially designed for Scheme and other Lisp dialects. It supports stand
+% alone files, text and display listings, and you can even nest the
+% commands/environments if you use \LaTeX\ code in comments, for example.
+% Keywords, constants, variables, and symbols are definable and use of
+% different styles is possible. No line numbers.
+%
+% \paragraph{\href{http://www.ctan.org/tex-archive/support/tiny_c2l}{\packagename{tiny\textunderscore c2ltx}}}
+% is a C/\Cpp/Java to \LaTeX\ converter based on \packagename{cvt2ltx} (or the
+% other way round?). It supports line numbers, block comments, \LaTeX\ code
+% in/as comments, and smart line breaking. Font selection and tabulators are
+% hard-coded, i.e.~you have to rebuild the program if you want to change the
+% appearance.
+%
+% \paragraph{\href{http://www.ctan.org/tex-archive/macros/latex/contrib/misc}{\packagename{listing}}}
+% ---note the missing \packagename{s}---is not a pretty-printer and the
+% aphorism about documentation at the end of \texttt{listing.sty} is not
+% true.\space ^^A :-)
+% It defines |\listoflistings| and a nonfloating environment for listings.
+% All font selection and indention must be done by hand. However, it's
+% useful if you have another tool doing that work, e.g.~\packagename{LGrind}.
+%
+% \paragraph{\href{http://www.ctan.org/tex-archive/macros/latex/contrib/alg}{\packagename{alg}}}
+% provides essentially the same functionality as \packagename{algorithms}.
+% So read the next paragraph and note that the syntax will be different.
+%
+% \paragraph{\href{http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms}{\packagename{algorithms}}}
+% goes a quite different way. You describe an algorithm and the package
+% formats it, for example
+% \begin{center}
+% \begin{minipage}{0.45\linewidth}
+%\ifalgorithmicpkg
+%    \begin{algorithmic}
+%    \IF {$i\leq0$}
+%    \STATE $i\gets1$
+%    \ELSE\IF {$i\geq0$}
+%    \STATE $i\gets0$
+%    \ENDIF\ENDIF
+%    \end{algorithmic}
+%\else
+%    \packagename{algorithms} not installed.
+%\fi
+% \end{minipage}
+% \begin{minipage}{0.45\linewidth}
+% \begin{verbatim}
+%\begin{algorithmic}
+%\IF{$i\leq0$}
+%\STATE $i\gets1$
+%\ELSE\IF{$i\geq0$}
+%\STATE $i\gets0$
+%\ENDIF\ENDIF
+%\end{algorithmic}\end{verbatim}
+% \end{minipage}
+% \end{center}
+% As this example shows, you get a good looking algorithm even from a bad
+% looking input. The package provides a lot more constructs like |for|-loops,
+% |while|-loops, or comments. You can request line numbers, `ruled', `boxed'
+% and floating algorithms, a list of algorithms, and you can customize the
+% terms \textbf{if}, \textbf{then}, and so on.
+%
+% \paragraph{\href{http://www.mimuw.edu.pl/~wolinski/pretprin.html}{\packagename{pretprin}}}
+% is a package for pretty-printing texts in formal languages---as the title
+% in TUGboat, Volume 19 (1998), No.~3 states. It provides environments which
+% pretty-print \emph{and} format the source code. Analyzers for Pascal and
+% Prolog are defined; adding other languages is easy---if you are or get a bit
+% familiar with automatons and formal languages.
+%
+% \paragraph{\packagename{alltt}}
+% defines an environment similar to \texttt{verbatim} except that |\|, |{| and
+% |}| have their usual meanings. This means that you can use commands in the
+% verbatims, e.g.~select different fonts or enter math mode.
+%
+% \paragraph{\href{http://www.ctan.org/tex-archive/macros/latex/contrib/moreverb}{\packagename{moreverb}}}
+% requires \packagename{verbatim} and provides verbatim output to a file,
+% `boxed' verbatims and line numbers.
+%
+% \paragraph{\packagename{verbatim}}
+% defines an improved version of the standard \texttt{verbatim} environment and
+% a command to input files verbatim.
+%
+% \paragraph{\href{http://www.ctan.org/tex-archive/macros/latex/contrib/fancyvrb}{\packagename{fancyvrb}}}
+% is, roughly speaking, a superset of \packagename{alltt},
+% \packagename{moreverb}, and \packagename{verbatim}, but many more parameters
+% control the output. The package provides frames, line numbers on the left or
+% on the right, automatic line breaking (difficult), and more. For example, an
+% interface to \packagename{listings} exists, i.e.~you can pretty-print source
+% code automatically.
+% The package \packagename{fvrb-ex} builds on \packagename{fancyvrb} and
+% defines environments to present examples similar to the ones in this guide.
+%
+%
+% \section{The next steps}\label{uTheNextSteps}
+%
+% Now, before actually using the \packagename{listings} package, you should
+% \emph{really} read the software license. It does not cost much time and
+% provides information you probably need to know.
+%
+%
+% \subsection{Software license}\label{uSoftwareLicense}
+%
+% The files \texttt{listings.dtx} and \texttt{listings.ins} and all
+% files generated from only these two files are referred to as `the
+% \packagename{listings} package' or simply `the package'.
+% \texttt{lstdrvrs.dtx} and the files generated from that file are
+% `drivers'.
+%
+% \paragraph{Copyright}
+%   The \packagename{listings} package is copyright 1996--2004 Carsten Heinz,
+%   and copyright 2006 Brooks Moses.  The drivers are copyright any individual
+%   author listed in the driver files.
+%
+% \paragraph{Distribution and modification}
+%   The \packagename{listings} package and its drivers may be distributed
+%   and/or modified under the conditions of the LaTeX Project Public License,
+%   either version 1.3 of this license or (at your option) any later version.
+%   The latest version of this license is in
+%      \href{http://www.latex-project.org/lppl.txt}{http://www.latex-project.org/lppl.txt}
+%   and version 1.3 or later is part of all distributions of LaTeX version
+%  2003/12/01 or later.
+%
+% \paragraph{Contacts}
+%   Read section \lstref{uTroubleshooting} on how to submit a bug report.
+%   Send all other comments, ideas, and additional programming languages to
+%   \lstemail\ using \texttt{listings} as part of the subject.
+%
+%
+% \subsection{Package loading}\label{uPackageLoading}
+%
+% As usual in \LaTeX, the package is loaded by
+%    |\usepackage[|\meta{options}|]{listings}|,
+% where |[|\meta{options}|]| is optional and gives a comma separated list of
+% options. Each either loads an additional \packagename{listings} aspect, or
+% changes default properties. Usually you don't have to take care of such
+% options. But in some cases it could be necessary: if you want to compile
+% documents created with an earlier version of this package or if you use
+% special features. Here's an incomplete list of possible options.
+% \begin{advise}
+% \item Where is a list of all of the options?
+%       \advisespace
+%       In the developer's guide since they were introduced to debug the
+%       package more easily. Read section \ref{uHowTos} on how to get that
+%       guide.
+% \end{advise}
+% \begin{description}
+% \item[\normalfont\texttt{0.21}]\leavevmode
+%
+%       invokes a compatibility mode for compiling documents written for
+%       \packagename{listings} version 0.21.
+%
+% \item[\normalfont\texttt{draft}]\leavevmode
+%
+%       The package prints no stand alone files, but shows the captions and
+%       defines the corresponding labels.
+%       Note that a global |\documentclass|-option \texttt{draft} is
+%       recognized, so you don't need to repeat it as a package option.
+%
+% \item[\normalfont\texttt{final}]\leavevmode\label{uoption:final}
+%
+%       Overwrites a global \texttt{draft} option.
+%
+% \item[\normalfont\texttt{savemem}]\leavevmode
+%
+%       tries to save some of \TeX's memory. If you switch between languages
+%       often, it could also reduce compile time. But all this depends on the
+%       particular document and its listings.
+% \end{description}
+% Note that various experimental features also need explicit loading via
+% options. Read the respective lines in section \ref{rExperimentalFeatures}.
+%
+% \medbreak
+% After package loading it is recommend to load all used dialects of programming
+% languages with the following command. It is faster to load several languages
+% with one command than loading each language on demand.
+% \begin{syntax}
+% \item {\rstyle\icmdname\lstloadlanguages}\marg{comma separated list of languages}
+%
+%       Each language is of the form \oarg{dialect}\meta{language}. Without
+%       the optional \oarg{dialect} the package loads a default dialect. So
+%       write `|[Visual]C++|' if you want Visual \Cpp\ and `|[ISO]C++|' for
+%       ISO \Cpp. Both together can be loaded by the command
+%       |\lstloadlanguages{[Visual]C++,[ISO]C++}|.
+%
+%       Table \ref{uPredefinedLanguages} on page \pageref{uPredefinedLanguages}
+%       shows all defined languages and their dialects.
+% \end{syntax}
+%^^A After or even before language loading, you might want to define default
+%^^A dialects---just to be independent of configuration files.
+%
+%
+% \subsection{The key=value interface}\label{uTheKey=ValueInterface}
+%
+% This package uses the \packagename{keyval} package from the
+% \packagename{graphics} bundle by David Carlisle. Each parameter is
+% controlled by an associated key and a user supplied value. For example,
+% \ikeyname{firstline} is a key and |2| a valid value for this key.
+%
+% The command {\rstyle\icmdname\lstset} gets a comma separated list of
+% ``key|=|value'' pairs. The first list with more than a single entry is on
+% page \pageref{gFirstKey=ValueList}: |firstline=2,lastline=5|.
+% \begin{advise}
+% \item So I can write `|\lstset{firstline=2,lastline=5}|' once for all?
+%       \advisespace
+%       No. `\ikeyname{firstline}' and `\ikeyname{lastline}' belong to a small
+%       set of
+%       keys which are only used on individual listings. However, your command is
+%       not illegal---it has no effect. You have to use these keys inside the
+%       optional argument of the environment or input command.
+% \item What's about a better example of a key|=|value list?
+%       \advisespace
+%       There is one in section \ref{gFigureOutTheAppearance}.
+% \item `|language=[77]Fortran|' does not work inside an optional argument.
+%       \advisespace
+%       You must put braces around the value if a value with optional argument
+%       is used inside an optional argument. In the case here write
+%       `|language={[77]Fortran}|' to select Fortran 77.
+% \item If I use the `\ikeyname{language}' key inside an optional argument, the
+%       language isn't active when I typeset the next listing.
+%       \advisespace
+%       All parameters set via `|\lstset|' keep their values up to the end of
+%       the current environment or group. Afterwards the previous values are
+%       restored. The optional parameters of the two pretty-printing commands
+%       and the `\texttt{lstlisting}' environment take effect on the particular
+%       listing only, i.e.~values are restored immediately. For example, you
+%       can select a main language and change it for special listings.
+% \item \icmdname\lstinline\ has an optional argument?
+%       \advisespace
+%       Yes. And from this fact comes a limitation: you can't use the left
+%       bracket `|[|' as delimiter unless you specify at least an empty
+%       optional argument as in `|\lstinline[][var i:integer;[|'.
+%       If you forget this, you will either get a ``runaway argument'' error
+%       from \TeX, or an error message from the \packagename{keyval} package.
+% \end{advise}
+%
+%
+% \subsection{Programming languages}\label{uProgrammingLanguages}
+%
+% You already know how to activate programming languages---at least Pascal.
+% An optional parameter selects particular dialects of a language. For example,
+% |language=[77]Fortran| selects Fortran 77 and |language=[XSC]Pascal| does the
+% same for Pascal XSC. The general form is
+%    {\rstyle\ikeyname{language}}|=|\oarg{dialect}\meta{language}.
+% If you want to get rid of keyword, comment, and string detection, use
+% |language={}| as an argument to |\lstset| or as optional argument.
+%
+% Table \ref{uPredefinedLanguages} shows all predefined languages and dialects.
+% Use the listed names as \meta{language} and \meta{dialect}, respectively. If
+% no dialect or `empty' is given in the table, just don't specify a dialect.
+% Each underlined dialect is default; it is selected if you leave out
+% the optional argument. The predefined defaults are the newest language
+% versions or standard dialects.
+%^^A
+%^^A  Make table of predefined languages.
+%^^A
+%\let\lstlanguages\empty
+%\makeatletter
+%\@for\lst@temp:={lstlang1.sty,lstlang2.sty,lstlang3.sty}\do
+%    {\IfFileExists\lst@temp{}{\let\lstlanguages\relax}}
+%\makeatother
+%\ifx\lstlanguages\relax
+%    \PackageWarningNoLine{Listings}
+%        {Standard drivers not available.\MessageBreak
+%         Please check your installation.\MessageBreak
+%         Compilation aborted}
+%    \csname @@end\expandafter\endcsname
+%\fi
+%\lstscanlanguages\lstlanguages{lstlang1.sty,lstlang2.sty,lstlang3.sty}{}^^A
+%\def\topfigrule{\hrule\kern-0.4pt\relax}^^A
+%\let\botfigrule\topfigrule
+%\belowcaptionskip=\smallskipamount
+% \begin{table}[tbhp]
+% \small
+% \caption{Predefined languages.
+%          Note that some definitions are preliminary, for example HTML and XML.
+%          Each underlined dialect is the default dialect.}^^A
+%          \label{uPredefinedLanguages}^^A
+% \makeatletter
+% \setbox\@tempboxa\hbox{^^A
+%    \InputIfFileExists{listings.cfg}{\lst@InputCatcodes}{}}^^A
+% \lstprintlanguages\lstlanguages
+% \end{table}
+%^^A
+%^^A end of table
+%^^A
+%\lstset{defaultdialect=[doc]Pascal}^^A restore
+% \begin{advise}
+% \item How can I define default dialects?
+%       \advisespace
+%       Check section \ref{rLanguagesAndStyles} for `\keyname{defaultdialect}'.
+% \item I have C code mixed with assembler lines. Can \packagename{listings}
+%       pretty-print such source code, i.e.~highlight keywords and comments of
+%       both languages?
+%       \advisespace
+%       `\ikeyname{alsolanguage}|=|\oarg{dialect}\meta{language}' selects a
+%       language additionally to the active one. So you only have to write a
+%       language definition for your assembler dialect, which doesn't interfere
+%       with the definition of C, say. Moreover you might want to use the key
+%       `\keyname{classoffset}' described in section \ref{rLanguagesAndStyles}.
+% \item How can I define my own language?
+%       \advisespace
+%       This is discussed in section \ref{rLanguageDefinitions}. And if you
+%       think that other people could benefit by your definition, you might
+%       want to send it to the address in section \ref{uSoftwareLicense}.
+%       Then it will be published under the \LaTeX\ Project Public License.
+% \end{advise}
+% Note that the arguments \meta{language} and \meta{dialect} are case
+% insensitive and that spaces have no effect.
+%
+%
+% \subsection{Special characters}\label{uSpecialCharacters}
+%
+%
+% \paragraph{Tabulators}
+% You might get unexpected output if your sources contain tabulators.
+% The package assumes tabulator stops at columns 9, 17, 25, 33, and so on.
+% This is predefined via |tabsize=8|. If you change the eight to the number
+% $n$, you will get tabulator stops at columns $n+1,2n+1,3n+1,$ and so on.
+% \begin{lstsample}[tabsize]{}{}
+%    \lstset{tabsize=2}
+%    \begin{lstlisting}
+%    123456789
+%    	{ one tabulator }
+%    		{ two tabs }
+%    123		{ 123 + two tabs }
+%    \end{lstlisting}
+% \end{lstsample}
+% For better illustration, the left-hand side uses |tabsize=2| but the verbatim
+% code |tabsize=4|. Note that |\lstset| modifies the values for all following
+% listings in the same environment or group. This is no problem here since the
+% examples are typeset inside minipages. If you want to change settings for a
+% single listing, use the optional argument.
+%
+%
+% \paragraph{Visible tabulators and spaces}
+% One can make spaces and tabulators visible:
+% \begin{lstsample}[showspaces,showtabs,tab]{}{}
+%    \lstset{showspaces=true,
+%            showtabs=true,
+%            tab=\rightarrowfill}
+%    \begin{lstlisting}
+%        for i:=maxint to 0 do
+%        begin
+%    	{ do nothing }
+%        end;
+%    \end{lstlisting}
+% \end{lstsample}
+% If you request \ikeyname{showspaces} but no \ikeyname{showtabs},
+% tabulators are converted to visible spaces.
+% The default definition of \ikeyname{tab} produces a `wide visible space'
+% \lstinline[showtabs]!	!. So you might want to use |$\to$|, |$\dashv$|
+% or something else instead.
+% \begin{advise}
+% \item Some sort of advice: (1) You should really indent lines of source code
+%       to make listings more readable. (2) Don't indent some lines with
+%       spaces and others via tabulators. Changing the tabulator size (of your
+%       editor or pretty-printing tool) completely disturbs the columns.
+%       (3) As a consequence, never share your files with differently tab sized
+%       people!^^A true only if you use tabulators, just :-)
+% \item To make the \LaTeX\ code more readable, I indent the environments'
+%       program listings. How can I remove that indention in the output?
+%       \advisespace
+%       Read `How to gobble characters' in section \ref{uHowTos}.
+% \end{advise}
+%
+%
+% \paragraph{Form feeds}
+% Another special character is a form feed causing an empty line by default.
+% {\rstyle\ikeyname{formfeed}}|=\newpage| would result in a new page every
+% form feed. Please note that such definitions (even the default) might get
+% in conflict with frames.
+%
+%
+% \paragraph{National characters}
+% If you type in such characters directly as characters of codes 128--255 and
+% use them also in listings, let the package know it---or you'll get really
+% funny results. {\rstyle\ikeyname{extendedchars}}|=true| allows and
+% |extendedchars=false| prohibits \packagename{listings} from handling 
+% extended characters in listings. If you use them, you should load
+% \packagename{fontenc}, \packagename{inputenc} and/or
+% any other package which defines the characters.
+% \begin{advise}
+% \item I have problems using \packagename{inputenc} together with
+%       \packagename{listings}.
+%       \advisespace
+%       This could be a compatibility problem. Make a bug report as described
+%       in section \lstref{uTroubleshooting}.
+% \end{advise}
+% The extended characters don't cover Arabic, Chinese, Hebrew, Japanese, and so
+% on---specifically, any encoding which uses multiple bytes per character.
+%
+% Thus, if you use the a package that supports multibyte characters, such as
+% the \packagename{CJK} or \packagename {ucs} packages for Chinese and 
+% UTF-8 characters, you must avoid letting \packagename{listings}
+% process the extended characters.  It is generally best to also specify
+% |extendedchars=false| to avoid having \packagename{listings} get entangled
+% in the other package's extended-character treatment.
+%
+% If you do have a listing contained within a CJK environment, and want to have
+% CJK characters inside the listing, you can place them within a comment that
+% escapes to \LaTeX -- see section \ref{rEscapingToLaTeX} for how to do that.
+% (If the listing is not inside a CJK environment, you can simply put a small
+% CJK environment within the escaped-to-\LaTeX portion of the comment.)
+%
+% Similarly, if you are using UTF-8 extended characters in a listing, they must
+% be placed within an escape to \LaTeX.
+%
+% Also, section \ref{uNationalCharacters} has a few details on how to work with
+% extended characters in the context of $\Lambda$.
+%
+%
+% \subsection{Line numbers}\label{uLineNumbers}
+%
+% You already know the keys \ikeyname{numbers}, \ikeyname{numberstyle},
+% \ikeyname{stepnumber}, and \ikeyname{numbersep} from section
+% \ref{gSeduceToUse}. Here now we deal with continued listings.
+% You have two options to get consistent line numbering across listings.
+%
+% \begin{lstsample}[firstnumber]{\lstset{numbers=left,numberstyle=\tiny,stepnumber=2,numbersep=5pt}}{}
+%    \begin{lstlisting}[firstnumber=100]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%
+%    \end{lstlisting}
+%    And we continue the listing:
+%    \begin{lstlisting}[firstnumber=last]
+%    Write('Case insensitive ');
+%    WritE('Pascal keywords.');
+%    \end{lstlisting}
+% \end{lstsample}
+% In the example, \ikeyname{firstnumber} is initially set to 100; some lines
+% later the value is \texttt{last}, which continues the numbering of the last
+% listing. Note that the empty line at the end of the first part is not printed
+% here, but it counts for line numbering. You should also notice that you can
+% write |\lstset{firstnumber=last}| once and get consecutively numbered code
+% lines---except you specify something different for a particular listing.
+%
+% On the other hand you can use |firstnumber=auto| and name your listings.
+% Listings with identical names (case sensitive!) share a line counter.
+% \begin{lstsample}[name]{\lstset{numbers=left,numberstyle=\tiny,stepnumber=2,numbersep=5pt}}{}
+%    \begin{lstlisting}[name=Test]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%
+%    \end{lstlisting}
+%    And we continue the listing:
+%    \begin{lstlisting}[name=Test]
+%    Write('Case insensitive ');
+%    WritE('Pascal keywords.');
+%    \end{lstlisting}
+% \end{lstsample}
+% The next |Test| listing goes on with line number {\makeatletter\lstno@Test},
+% no matter whether there are other listings in between.
+% \begin{advise}
+% \item Okay. And how can I get decreasing line numbers?
+%       \advisespace
+%       Sorry, what?
+%       \advisespace
+%       Decreasing line numbers as on page \pageref{rDecreasingLabels}.
+%       \advisespace
+%       May I suggest to demonstrate your individuality by other means?
+%       If you differ, you should try a negative `\ikeyname{stepnumber}'
+%       (together with `\ikeyname{firstnumber}').
+% \end{advise}
+%
+% Read section \ref{uHowTos} on how to reference line numbers.
+%
+%
+% \subsection{Layout elements}
+%
+% It's always a good idea to structure the layout by vertical space,
+% horizontal lines, or different type sizes and typefaces. The best to stress
+% whole listings are---not all at once---colours, frames, vertical space, and
+% captions. The latter are also good to refer to listings, of course.
+%
+% \paragraph{Vertical space}
+% The keys {\rstyle\ikeyname{aboveskip}} and {\rstyle\ikeyname{belowskip}}
+% control the vertical space above and below displayed listings. Both keys get
+% a dimension or skip as value and are initialized to |\medskipamount|.
+%
+% \paragraph{Frames}
+% The key \ikeyname{frame} takes the verbose values \keyvalue{none},
+% \keyvalue{leftline}, \keyvalue{topline}, \keyvalue{bottomline},
+% \keyvalue{lines} (top and bottom), \keyvalue{single} for single frames, or
+% \keyvalue{shadowbox}.
+% \begin{lstsample}[frame]{}{}
+%    \begin{lstlisting}[frame=single]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% \begin{advise}
+% \item The rules aren't aligned.
+%       \advisespace
+%       This could be a bug of this package or a problem with your
+%       \texttt{.dvi} driver. \emph{Before} sending a bug report to the package
+%       author, modify the parameters described in section \ref{rFrames}
+%       heavily. And do this step by step!
+%       For example, begin with `|framerule=10mm|'. If the rules are
+%       misaligned by the same (small) amount as before, the problem does not
+%       come from the rule width. So continue with the next parameter.  Also,
+%       Adobe Acrobat sometimes has single-pixel rounding errors which can 
+%       cause small misalignments at the corners when PDF files are displayed
+%       on screen; these are unfortunately normal.
+% \end{advise}
+% Alternatively you can control the rules at the \texttt{t}op, \texttt{r}ight,
+% \texttt{b}ottom, and \texttt{l}eft directly by using the four initial letters
+% for single rules and their upper case versions for double rules.
+% \begin{lstsample}[frame]{}{}
+%    \begin{lstlisting}[frame=trBL]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% Note that a corner is drawn if and only if both adjacent rules are requested.
+% You might think that the lines should be drawn up to the edge, but what's
+% about round corners? The key \ikeyname{frameround} must get exactly four
+% characters as value. The first character is attached to the upper right
+% corner and it continues clockwise. `\texttt{t}' as character makes the
+% corresponding corner round.
+% \begin{lstsample}[frameround]{}{}
+%    \lstset{frameround=fttt}
+%    \begin{lstlisting}[frame=trBL]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% Note that \ikeyname{frameround} has been used together with |\lstset| and thus
+% the value affects all following listings in the same group or environment.
+% Since the listing is inside a \texttt{minipage} here, this is no problem.
+% \begin{advise}
+% \item Don't use frames all the time, and in particular not with short listings.
+%       This would emphasize nothing. Use frames for $10\%$ or even less of
+%       your listings, for your most important ones.
+% \item If you use frames on floating listings, do you really want frames?
+%       \advisespace
+%       No, I want to separate floats from text.
+%       \advisespace
+%       Then it is better to redefine \LaTeX's `|\topfigrule|' and
+%       `|\botfigrule|'. For example, you could write
+%       `|\renewcommand*\topfigrule{\hrule\kern-0.4pt\relax}|' and make the
+%       same definition for |\botfigrule|.
+% \end{advise}
+%
+% \paragraph{Captions}
+% Now we come to \ikeyname{caption} and \ikeyname{label}. You might guess
+% (correctly) that they can be used in the same manner as \LaTeX's |\caption|
+% and |\label| commands, although here it is also possible to have a caption
+% regardless of whether or not the listing is in a float:
+% \begin{lstsample}[caption,label]{\lstset{xleftmargin=.05\linewidth}}{}
+%    \begin{lstlisting}[caption={Useless code},label=useless]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% Afterwards you could refer to the listing via |\ref{useless}|. By default
+% such a listing gets an entry in the list of listings, which can be printed
+% with the command {\rstyle\icmdname\lstlistoflistings}. The key
+% {\rstyle\ikeyname{nolol}} suppresses an entry for both the environment or
+% the input command. Moreover, you can specify a short caption for the list
+% of listings:
+%    \keyname{caption}|={|\oarg{short}\meta{long}|}|.
+% Note that the whole value is enclosed in braces since an optional value is
+% used in an optional argument.
+%
+% If you don't want the label \texttt{\lstlistingname} plus number, you should
+% use \ikeyname{title}:
+% \begin{lstsample}[title]{\lstset{xleftmargin=.05\linewidth}}{}
+%    \begin{lstlisting}[title={`Caption' without label}]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% \begin{advise}
+% \item Something goes wrong with `\keyname{title}' in my document: in front of
+%       the title is a delimiter.
+%       \advisespace
+%       The result depends on the document class; some are not compatible.
+%       Contact the package author for a work-around.
+% \end{advise}
+%
+% \paragraph{Colours}
+% One more element. You need the \packagename{color} package and can then
+% request coloured background via
+% \ikeyname{backgroundcolor}|=|\meta{color command}.
+% \begin{advise}
+% \item Great! I love colours.
+%       \advisespace
+%       Fine, yes, really. And I like to remind you of the warning about
+%       striking styles on page \pageref{wStrikingStyles}.
+% \end{advise}
+%\ifcolor
+% \begin{lstxsample}[backgroundcolor]
+%    \lstset{backgroundcolor=\color{yellow}}
+% \end{lstxsample}
+%\else
+% \begin{verbatim}
+%    color package not installed\end{verbatim}
+%\fi
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}[frame=single,
+%                       framerule=0pt]
+%    for i:=maxint to 0 do
+%    begin
+%        j:=square(root(i));
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% The example also shows how to get coloured space around the whole listing:
+% use a frame whose rules have no width.
+%
+%
+% \subsection{Emphasize identifiers}\label{uEmphasizeIdentifiers}
+%
+% Recall the pretty-printing commands and environment. |\lstinline| prints
+% code snippets, |\lstinputlisting| whole files, and \texttt{lstlisting}
+% pieces of code which reside in the \LaTeX\ file. And what are these
+% different `types' of source code good for? Well, it just happens that a
+% sentence contains a code fragment. Whole files are typically included in or
+% as an appendix. Nevertheless some books about programming also include such
+% listings in normal text sections---to increase the number of pages.
+% Nowadays source code should be shipped on disk or CD-ROM and only the main
+% header or interface files should be typeset for reference. So, please, don't
+% misuse the \packagename{listings} package. But let's get back to the topic.
+%
+% Obviously `\texttt{lstlisting} source code' isn't used to make an executable
+% program from. Such source code has some kind of educational purpose or even
+% didactic.
+% \begin{advise}
+% \item What's the difference between educational and didactic?
+%       \advisespace
+%       Something educational can be good or bad, true or false.
+%       Didactic is true by definition.^^A :-)
+% \end{advise}
+% Usually \emph{keywords} are highlighted when the package typesets a piece of
+% source code. This isn't necessary for readers who know the programming
+% language well. The main matter is the presentation of interface, library or
+% other functions or variables. If this is your concern, here come the right
+% keys. Let's say, you want to emphasize the functions |square| and |root|,
+% for example, by underlining them. Then you could do it like this:
+% \begin{lstxsample}[emph,emphstyle]
+%    \lstset{emph={square,root},emphstyle=\underbar}
+% \end{lstxsample}
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    for i:=maxint to 0 do
+%    begin
+%        j:=square(root(i));
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% \begin{advise}
+% \item Note that the list of identifiers |{square,root}| is enclosed in
+%       braces. Otherwise the \packagename{keyval} package would complain
+%       about an undefined key \keyname{root} since the comma finishes the
+%       key=value pair.
+%       Note also that you \emph{must} put braces around the value if you
+%       use an optional argument of a key inside an optional argument of a
+%       pretty-printing command. Though it is not necessary, the following
+%       example uses these braces. They are typically forgotten when they
+%       become necessary,
+% \end{advise}
+%
+% Both keys have an optional \meta{class number} argument for multiple
+% identifier lists:
+%\ifcolor
+% \begin{lstxsample}[emph,emphstyle]
+%    \lstset{emph={square},      emphstyle=\color{red},
+%            emph={[2]root,base},emphstyle={[2]\color{blue}}}
+% \end{lstxsample}
+%\else
+% \begin{lstxsample}[emph,emphstyle]
+%    \lstset{emph={square},      emphstyle=\underbar,
+%            emph={[2]root,base},emphstyle={[2]\fbox}}
+% \end{lstxsample}
+%\fi
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    for i:=maxint to 0 do
+%    begin
+%        j:=square(root(i));
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% \begin{advise}
+% \item What is the maximal \meta{class number}?
+%       \advisespace
+%       $2^{31}-1=2\,147\,483\,647$. But \TeX's memory will exceed before you
+%       can define so many different classes.
+% \end{advise}
+%
+% One final hint: Keep the lists of identifiers disjoint. Never use a keyword
+% in an `emphasize' list or one name in two different lists. Even if your
+% source code is highlighted as expected, there is no guarantee that it is
+% still the case if you change the order of your listings or if you use the
+% next release of this package.
+%
+%
+%\iffalse
+% \subsection{*Listing alignment}\label{uListingAlignment}
+%
+% The examples are typeset with centered \texttt{minipage}s. That's the reason
+% why you can't see that line numbers are printed in the margin. Now we
+% separate the minipage margin and the minipage by a vertical rule:
+% \begin{lstsample}{\lstset{frame=l,framesep=0pt,numberstyle=\tiny,stepnumber=2,numbersep=5pt}}{}
+%    Some text before
+%    \begin{lstlisting}
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% The listing is lined up with the normal text. The parameter \ikeyname{xleftmargin}
+% moves the listing to the right (or left if the dimension is negative).
+% \begin{lstsample}{\lstset{frame=l,framesep=0pt,numberstyle=\tiny,stepnumber=2,numbersep=5pt}}{}
+%    Some text before
+%    \begin{lstlisting}[xleftmargin=15pt]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+%
+%    \begin{lstlisting}{ }
+%    Write('Insensitive');
+%    WritE('keywords.');
+%    \end{lstlisting}
+% \end{lstsample}
+% Note again that optional arguments change settings for single listings.
+%
+% If you use environments like \texttt{itemize} or \texttt{enumerate}, there
+% is `natural' indention coming from these environments. By default the
+% \packagename{listings} package respects this. But you might use
+% |resetmargins=true| (or |false|) to make your own decision. You can use it
+% together with |xleftmargin|, of course.
+% \begin{advise}
+% \item I get heavy overfull |\hbox|es from some listings.
+%       \advisespace
+%       This comes from long lines in your listings. You have some options
+%       to get rid of the overful |\hbox|es. Firstly I recommend to typeset
+%       listings in smaller fonts than the surrounding text, for example
+%       `|basicstyle=\small|'. Secondly you might want to use the flexible
+%       column format. Thirdly you can increase the line width or set it
+%       explicitly, refer section \ref{rMarginsAndLineShape}.
+%       If all this doesn't help, you might want to change
+%       `\ikeyname{basewidth}', but be careful! The two unknown items are
+%       explained in the next section.
+% \end{advise}
+%
+% You might need to control the vertical position of listings with the
+% \ikeyname{boxpos} key, for example, if you use them in \texttt{minipage} or
+% \texttt{tabular} environments. Here `listings' means \texttt{lstlisting} or
+% |\lstinputlisting|. As the following example shows, you can even place such
+% listings inside paragraphs, but you must force the package to do this by
+% enclosing the listing in |\hbox{| and |}|.
+% \begin{advise}
+% \item Is it good form to use the \TeX-primitive `|\hbox|' in a \LaTeX\ 
+%       document?
+%       \advisespace
+%       No, it's not. But \LaTeX's `|\mbox|' does not work in this example:
+% \end{advise}
+% \begin{lstsample}{}{}
+%    Here are some multi-line listings inside a paragraph.
+%    The `boxpos' key controls their vertical alignment:
+%    \hbox{\begin{lstlisting}[boxpos=c]
+%    center
+%    center
+%    \end{lstlisting}}
+%    \hbox{\begin{lstlisting}[boxpos=b]
+%    bottom baseline
+%    bottom baseline
+%    \end{lstlisting}}
+%    \hbox{\begin{lstlisting}[boxpos=t]
+%    top baseline
+%    top baseline
+%    \end{lstlisting}}
+% \end{lstsample}
+%\fi
+%
+%
+% \subsection{Indexing}\label{uIndexing}
+%
+% Indexing is just like emphasizing identifiers---I mean the usage:
+% \begin{lstxsample}[index]
+%    \lstset{index={square},index={[2]root}}
+% \end{lstxsample}
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    for i:=maxint to 0 do
+%    begin
+%        j:=square(root(i));
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% Of course, you can't see anything here. You will have to look at the index.
+% \begin{advise}
+% \item Why is the `\ikeyname{index}' key able to work with multiple identifier
+%       lists?
+%       \advisespace
+%       This question is strongly related to the `{\rstyle\ikeyname{indexstyle}}'
+%       key. Someone might want to create multiple indexes or want to insert
+%       prefixes like `|constants|', `|functions|', `|keywords|', and so on.
+%       The `\ikeyname{indexstyle}' key works like the other style keys except
+%       that the last token \emph{must} take an argument, namely the
+%       (printable form of the) current identifier.
+%
+%       You can define `|\newcommand\indexkeywords[1]{\index{keywords, #1}}|'
+%       and make similar definitions for constant or function names. Then
+%       `|indexstyle=[1]\indexkeywords|' might meet your purpose. This becomes
+%       easier if you want to create multiple indexes with the
+%       \href{http://www.ctan.org/tex-archive/macros/latex/contrib/camel}
+%       {\packagename{index}} package.
+%       If you have defined appropriate new indexes, it is possible to write
+%       `|indexstyle=\index[keywords]|', for example.
+%
+% \item Let's say, I want to index all keywords. It would be annoying to
+%       type in all the keywords again, specifically if the used programming
+%       language changes frequently.
+%       \advisespace
+%       Just read ahead.
+% \end{advise}
+% The \ikeyname{index} key has in fact two optional arguments. The first is the
+% well-known \meta{class number}, the second is a comma separated list of other
+% keyword classes whose identifiers are indexed. The indexed identifiers then
+% change automatically with the defined keywords---not automagically, it's not
+% an illusion.^^A :-)
+%
+% Eventually you need to know the names of the keyword classes. It's usually
+% the key name followed by a class number, for example, |emph2|, |emph3|,
+% \ldots, |keywords2| or |index5|. But there is no number for the first order
+% classes |keywords|, |emph|, |directives|, and so on.
+% \begin{advise}
+% \item `|index=[keywords]|' does not work.
+%       \advisespace
+%       The package can't guess which optional argument you mean. Hence you
+%       must specify both if you want to use the second one. You should try
+%       `|index=[1][keywords]|'.
+% \end{advise}
+%
+%
+% \subsection{Fixed and flexible columns}\label{uFixedAndFlexibleColumns}
+%
+% The first thing a reader notices---except different styles for keywords,
+% etc.---is the column alignment. Arne John Glenstrup invented the flexible
+% column format in 1997. Since then some efforts were made to develop this
+% branch farther. Currently four column formats are provided: fixed, flexible,
+% space-flexible, and full flexible. Take a close look at the following
+% examples.
+% \begin{center}
+% \lstset{style={},language={}}
+% \def\sample{\begin{lstlisting}^^J WOMEN\ \ are^^A
+%                               ^^J \ \ \ \ \ \ \ MEN^^A
+%                               ^^J WOMEN are^^A
+%                               ^^J better MEN^^J \end{lstlisting}}
+% \begin{tabular}{@{}c@{\qquad\quad}c@{\qquad\quad}c@{\qquad\quad}c@{}}
+% {\rstyle\ikeyname{columns}}|=| & \texttt{fixed} & \texttt{flexible} & \texttt{fullflexible}\\
+%          & (at {\makeatletter\lst@widthfixed})
+%          & (at {\makeatletter\lst@widthflexible})
+%          & (at {\makeatletter\lst@widthflexible})\\
+% \noalign{\medskip}
+%   \lstset{basicstyle=\ttfamily,basewidth=0.51em}\sample
+% & \lstset{columns=fixed}\sample
+% & \lstset{columns=flexible}\sample
+% & \lstset{columns=fullflexible}\sample
+% \end{tabular}
+% \end{center}
+% \begin{advise}
+% \item Why are women better men?
+%       \advisespace
+%       Do you want to philosophize? Well, have I ever said that the
+%       statement ``women are better men'' is true? I can't even remember this
+%       about ``women are men'' \ldots . ^^A ;-)
+% \end{advise}
+% In the abstract one can say: The fixed column format ruins the spacing
+% intended by the font designer, while the flexible formats ruin the column
+% alignment (possibly) intended by the programmer. Common to all is that the
+% input characters are translated into a sequence of basic output units like
+% \begingroup \lstset{gobble=6,xleftmargin=\leftmargini}
+% \makeatletter
+%^^A  Make \fbox around each output unit.
+% \fboxsep=0pt
+% \def\lst@alloverstyle#1{\fbox{\kern-\fboxrule\strut#1}\kern-\fboxrule}
+% \begin{lstlisting}[basewidth=1em]
+%     if x=y then write('align')
+%            else print('align');
+% \end{lstlisting}
+% Now, the fixed format puts $n$ characters into a box of width $n\times{}
+% $`base width', where the base width is {\makeatletter\lst@widthfixed} in the
+% example. The format shrinks and stretches the space between the characters
+% to make them fit the box. As shown in the example, some character strings look
+%    \hbox to 2em{b\hss a\hss d}
+% or
+%    \hbox to 2em{w\hss o\hss r\hss s\hss e},
+% but the output is vertically aligned.
+% \endgroup
+%
+% If you don't need or like this, you should use a flexible format. All
+% characters are typeset at their natural width. In particular, they never
+% overlap. If a word requires more space than reserved, the rest of the line
+% simply moves to the right. The difference between the three formats is that
+% the full flexible format cares about nothing else, while the normal flexible
+% and space-flexible formats try to fix the column alignment if a character
+% string needs less space than `reserved'.  The normal flexible format will
+% insert make-up space to fix the alignment at spaces, before and after
+% identifiers, and before and after sequences of other characters; the 
+% space-flexible format will only insert make-up space by stretching 
+% existing spaces.  In the flexible example above, the two MENs are vertically
+% aligned since some space has been inserted in the fourth line to fix the
+% alignment. In the full flexible format, the two MENs are not aligned.
+%
+% Note that both flexible modes printed the two blanks in the first line as a
+% single blank, but for different reasons: the normal flexible format fixes
+% the column alignment (as would the space-flexible format), and the full
+% flexible format doesn't care about the second space.
+%
+%
+% \section{Advanced techniques}\label{uAdvancedTechniques}
+%
+%
+% \subsection{Style definitions}
+%
+% It is obvious that a pretty-printing tool like this requires some kind of
+% language selection and definition. The first has already been described and
+% the latter is convered by the next section. However, it is very convenient
+% to have the same for printing styles: at a central place of your document
+% they can be modified easily and the changes take effect on all listings.
+%
+% Similar to languages,
+%    {\rstyle\ikeyname{style}}|=|\meta{style name}
+% activates a previously defined style. A definition is as easy:
+%    {\rstyle|\lstdefinestyle|}\marg{style name}\marg{key=value list}.
+% Keys not used in such a definition are untouched by the corresponding style
+% selection, of course. For example, you could write
+% \begin{verbatim}
+%   \lstdefinestyle{numbers}
+%       {numbers=left, stepnumber=1, numberstyle=\tiny, numbersep=10pt}
+%   \lstdefinestyle{nonumbers}
+%       {numbers=none}\end{verbatim}
+% and switch from listings with line numbers to listings without ones and vice
+% versa simply by |style=nonumbers| and |style=numbers|, respectively.
+% \begin{advise}
+% \item You could even write
+%           `|\lstdefinestyle{C++}{language=C++,style=numbers}|'.
+%       Style and language names are independent of each other and so might
+%       coincide. Moreover it is possible to activate other styles.
+%
+% \item It's easy to crash the package using styles. Write
+%       '|\lstdefinestyle{crash}{style=crash}|' and '|\lstset{style=crash}|'.
+%       \TeX's capacity will exceed, sorry [parameter stack size]. Only bad
+%       boys use such recursive calls, but only good girls use this package.
+%       Thus the problem is of minor interest.^^A :-)
+% \end{advise}
+%
+%
+% \subsection{Language definitions}\label{uLanguageDefinitions}
+%
+% These are like style definitions except for an optional dialect name and an
+% optional base language---and, of course, a different command name and
+% specialized keys. In the simple case it's
+%    {\rstyle|\lstdefinelanguage|}\marg{language name}\marg{key=value list}.
+% For many programming languages it is sufficient to specify keywords and
+% standard function names, comments, and strings. Let's look at an example.
+% \begin{lstxsample}[morekeywords,sensitive,morecomment,morestring]
+%    \lstdefinelanguage{rock}
+%      {morekeywords={one,two,three,four,five,six,seven,eight,
+%          nine,ten,eleven,twelve,o,clock,rock,around,the,tonight},
+%       sensitive=false,
+%       morecomment=[l]{//},
+%       morecomment=[s]{/*}{*/},
+%       morestring=[b]",
+%      }
+% \end{lstxsample}
+% \begingroup \csname lst@EndWriteFile\endcsname
+% \bigbreak
+%
+% \noindent
+% There isn't much to say about keywords. They are defined like identifiers
+% you want to emphasize. Additionally you need to specify whether they are
+% case sensitive or not. And yes: you could insert |[2]| in front of the
+% keyword \texttt{one} to define the keywords as `second order' and print them
+% in |keywordstyle={[2]...}|.
+% \begin{advise}
+% \item I get a `\texttt{Missing = inserted for }|\ifnum|' error when I select
+%       my language.
+%       \advisespace
+%       Did you forget the comma after `|keywords={...}|'? And if you encounter
+%       unexpected characters after selecting a language (or style), you have
+%       probably forgotten a different comma or you have given to many
+%       arguments to a key, for example, |morecomment=[l]{--}{!}|.
+% \end{advise}
+%
+% So let's turn to comments and strings. Each value starts with a
+% \emph{mandatory} \oarg{type} argument followed by a changing number of
+% opening and closing delimiters. Note that each delimiter (pair) requires a
+% key=value on its own, even if types are equal. Hence, you'll need to insert
+% \texttt{morestring=[b]'} if single quotes open and close string or character
+% literals in the same way as double quotes do in the example.
+%
+% Eventually you need to know the types and their numbers of delimiters. The
+% reference guide contains full lists, here we discuss only the most common.
+% For strings these are {\rstyle\texttt{b}} and {\rstyle\texttt{d}} with one
+% delimiter each. This delimiter opens and closes the string and inside a
+% string it is either escaped by a \texttt backslash or it is \texttt doubled.
+% The comment type {\rstyle\texttt{l}} requires exactly one delimiter, which
+% starts a comment on any column. This comment goes up to the end of line.
+% The other two most common comment types are {\rstyle\texttt{s}} and
+% {\rstyle\texttt{n}} with two delimiters each. The first delimiter opens a
+% comment which is terminated by the second delimiter. In contrast to the
+% \texttt s-type, \texttt n-type comments can be nested.
+% \begin{lstxsample}[b,d,l,s,n]
+%    \lstset{morecomment=[l]{//},
+%            morecomment=[s]{/*}{*/},
+%            morecomment=[n]{(*}{*)},
+%            morestring=[b]",
+%            morestring=[d]'}
+% \end{lstxsample}
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    "str\"ing "    not a string
+%    'str''ing '    not a string
+%    // comment line
+%    /* comment/**/ not a comment
+%    (* nested (**) still comment
+%       comment  *) not a comment
+%    \end{lstlisting}
+% \end{lstsample}
+% \begin{advise}
+% \item Is it \emph{that} easy?
+%       \advisespace
+%       Almost. There are some troubles you can run into. For example, if
+%       `\texttt{-*}' starts a comment line and `\texttt{-*-}' a string
+%       (unlikely but possible), then you must define the shorter delimiter
+%       first.
+%       Another problem: by default some characters are not allowed inside
+%       keywords, for example `\texttt{-}', `\texttt{:}', `\texttt{.}', and
+%       so on. The reference guide covers this problem by introducing some
+%       more keys, which let you adjust the standard character table
+%       appropriately. But note that white space characters are prohibited
+%       inside keywords.
+% \end{advise}
+% Finally remember that this section is only an introduction to language
+% definitions. There are more keys and possibilities.
+%
+%
+% \subsection{Delimiters}\label{uDelimiters}
+%
+% You already know two special delimiter classes: comments and strings.
+% However, their full syntax hasn't been described so far. For example,
+% \ikeyname{commentstyle} applies to all comments---unless you specify
+% something different. The \emph{optional} \oarg{style} argument follows the
+% \emph{mandatory} \oarg{type} argument.
+%\ifcolor
+% \begin{lstxsample}
+%    \lstset{morecomment=[l][keywordstyle]{//},
+%            morecomment=[s][\color{white}]{/*}{*/}}
+% \end{lstxsample}
+%\else
+% \begin{lstxsample}
+%    \lstset{morecomment=[l][keywordstyle]{//},
+%            morecomment=[s][\underbar]{/*}{*/}}
+% \end{lstxsample}
+%\fi
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    // bold comment line
+%    a single /* comment */
+%    \end{lstlisting}
+% \end{lstsample}
+% As you can see, you have the choice between specifying the style explicitly
+% by \LaTeX\ commands or implicitly by other style keys. But, you're right,
+% some implicitly defined styles have no seperate keys, for example the second
+% order keyword style. Here---and never with the number 1---you just append
+% the order to the base key: \texttt{keywordstyle2}.
+%
+% You ask for an application? Here you are: one can define different printing
+% styles for `subtypes' of a comment, for example
+%\ifcolor
+% \begin{lstxsample}
+%    \lstset{morecomment=[s][\color{blue}]{/*+}{*/},
+%            morecomment=[s][\color{red}]{/*-}{*/}}
+% \end{lstxsample}
+%\else
+% \begin{lstxsample}
+%    \lstset{morecomment=[s][\upshape]{/*+}{*/},
+%            morecomment=[s][\bfseries]{/*-}{*/}}
+% \end{lstxsample}
+%\fi
+% \begin{lstsample}{\lstset{morecomment=[s]{/*}{*/}}}{}
+%    \begin{lstlisting}
+%    /*  normal comment */
+%    /*+    keep cool   */
+%    /*-     danger!    */
+%    \end{lstlisting}
+% \end{lstsample}
+% Here, the comment style is not applied to the second and third line.
+% \begin{advise}
+% \item Please remember that both `extra' comments must be defined \emph{after}
+%       the normal comment, since the delimiter `\texttt{/*}' is a substring of
+%       `\texttt{/*+}' and `\texttt{/*-}'.
+%
+% \item I have another question. Is `\texttt{language=}\meta{different
+%       language}' the only way to remove such additional delimiters?
+%       \advisespace
+%       Call {\rstyle\ikeyname{deletecomment}} and/or
+%       {\rstyle\ikeyname{deletestring}} with the same arguments to remove
+%       the delimiters (but you don't need to provide the optional style
+%       argument).
+% \end{advise}
+% Eventually, you might want to use the prefix \texttt{i} on any comment type.
+% Then the comment is not only invisible, it is completely discarded from the
+% output!
+% \begin{lstxsample}[is]
+%    \lstset{morecomment=[is]{/*}{*/}}
+% \end{lstxsample}
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    begin /* comment */ end
+%    begin/* comment */end
+%    \end{lstlisting}
+% \end{lstsample}
+%
+% Okay, and now for the real challenges. More general delimiters can be defined
+% by the key {\rstyle\ikeyname{moredelim}}. Legal types are {\rstyle\texttt{l}}
+% and {\rstyle\texttt{s}}. These types can be preceded by an \texttt{i}, but
+% this time \emph{only the delimiters} are discarded from the output. This way
+% you can select styles by markers.
+% \begin{lstxsample}
+%    \lstset{moredelim=[is][\ttfamily]{|}{|}}
+% \end{lstxsample}
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    roman |typewriter|
+%    \end{lstlisting}
+% \end{lstsample}
+% You can even let the package detect keywords, comments, strings, and other
+% delimiters inside the contents.
+% \begin{lstxsample}
+%    \lstset{moredelim=*[s][\itshape]{/*}{*/}}
+% \end{lstxsample}
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    /* begin
+%      (* comment *)
+%       ' string ' */
+%    \end{lstlisting}
+% \end{lstsample}
+% Moreover, you can force the styles to be applied cumulatively.
+% \begin{lstxsample}
+%    \lstset{moredelim=**[is][\ttfamily]{|}{|}, % cumulative
+%            moredelim=*[s][\itshape]{/*}{*/}}  % not so
+% \end{lstxsample}
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    /* begin
+%       ' string '
+%       |typewriter| */
+%
+%    | begin
+%     ' string '
+%     /*typewriter*/ |
+%    \end{lstlisting}
+% \end{lstsample}
+% Look carefully at the output and note the differences. The second
+% \texttt{begin} is not printed in bold typewriter type since standard
+% \LaTeX\ has no such font.
+%
+% This suffices for an introduction. Now go and find some more applications.
+%
+%
+% \subsection{Closing and credits}\label{uClosingAndCredits}
+%
+% You've seen a lot of keys but you are far away from knowing all of them.
+% The next step is the real use of the \packagename{listings} package.
+% Please take the following advice. Firstly, look up the known commands and
+% keys in the reference guide to get a notion of the notation there. Secondly,
+% poke around with these keys to learn some other parameters. Then, hopefully,
+% you'll be prepared if you encounter any problems or need some special things.
+%
+% \begin{advise}
+% \item
+% There is one question `you' haven't asked all the last pages: who is to
+% blame. Carsten Heinz wrote the guides, coded the \packagename{listings}
+% package and wrote some language drivers. Brooks Moses currently maintains
+% the package.  Other people defined more languages
+% or contributed their ideas; many others made bug reports, but only the first
+% bug finder is listed.
+%^^A
+%^^A Thanks for error reports (first bug finder only), new programming
+%^^A languages, etc.
+%^^A Special thanks for communication which lead to kernel extensions, and to
+%^^A Hendri Adriaens for reviving maintenance on the package.
+%^^A
+% Special thanks go to (alphabetical order)
+% \begin{quote}
+% \hyphenpenalty=10000\relax \rightskip=0pt plus \linewidth
+%   \lstthanks{Hendri~Adriaens}{-},
+%   \lstthanks{Andreas~Bartelt}{Andreas.Bartelt@Informatik.Uni-Oldenburg.DE},
+%   \lstthanks{Jan~Braun}{Jan.Braun@tu-bs.de},
+%   \lstthanks{Denis~Girou}{Denis.Girou@idris.fr},
+%   \lstthanks{Arne~John~Glenstrup}{panic@diku.dk},
+%   \lstthanks{Frank~Mittelbach}{frank.mittelbach@latex-project.org},
+%   \lstthanks{Rolf~Niepraschk}{niepraschk@PTB.DE},
+%   \lstthanks{Rui~Oliveira}{rco@di.uminho.pt},
+%   \lstthanks{Jens~Schwarzer}{schwarzer@schwarzer.dk}, and
+%   \lstthanks{Boris~Veytsman}{boris@plmsc.psu.edu}.
+% \end{quote}
+% Moreover we wish to thank
+% \begin{quote}
+% \hyphenpenalty=10000\relax \rightskip=0pt plus \linewidth
+%   \lstthanks{Bj{\o}rn~{\AA}dlandsvik}{bjorn@imr.no},
+%   \lstthanks{Omair-Inam~Abdul-Matin}{-},
+%   \lstthanks{Gaurav~Aggarwal}{gaurav@ics.uci.edu},
+%   \lstthanks{Jason~Alexander}{jalex@ea.oac.uci.edu},
+%   \lstthanks{Andrei~Alexandrescu}{-},
+%   \lstthanks{Holger~Arndt}{-},
+%   \lstthanks{Donald~Arseneau}{ASND@erich.triumf.ca},
+%   \lstthanks{David~Aspinall}{David.Aspinall@ed.ac.uk},
+%   \lstthanks{Frank~Atanassow}{-},
+%   \lstthanks{Claus~Atzenbeck}{Claus.Atzenbeck@stud.uni-regensburg.de},
+%   \lstthanks{Michael~Bachmann}{-},
+%   \lstthanks{Luca~Balzerani}{-},
+%   \lstthanks{Peter~Bartke}{bartke@inf.fu-berlin.de} (big thankyou), ^^A beta tester
+%   \lstthanks{Heiko~Bauke}{-},
+%   \lstthanks{Oliver~Baum}{oli.baum@web.de},
+%   \lstthanks{Ralph~Becket}{rbeck@microsoft.com},
+%   \lstthanks{Andres~Becerra~Sandoval}{abecerra@univalle.edu.co},
+%   \lstthanks{Kai~Below}{below@tu-harburg.de},
+%   \lstthanks{Matthias~Bethke}{-},
+%   \lstthanks{Javier~Bezos}{javier.bezos@bancoval.es},
+%   \lstthanks{Olaf~Trygve~Berglihn}{olafb@pvv.org}, ^^A {1999/11/29}{3-char comment delimiter don't work (Python)}
+%   \lstthanks{Geraint~Paul~Bevan}{geraint@users.sf.net},
+%   \lstthanks{Peter~Biechele}{peter.biechele@physik.uni-freiburg.de},
+%   \lstthanks{Beat~Birkhofer}{beat@birkhofer.ch},
+%   \lstthanks{Fr\'ed\'eric~Boulanger}{Frederic.Boulanger@supelec.fr},
+%   \lstthanks{Joachim~Breitner}{-},
+%   \lstthanks{Martin~Brodbeck}{Martin.Brodbeck@gmx.de},
+%   \lstthanks{Walter~E.~Brown}{WB@fnal.gov},
+%   \lstthanks{Achim~D.~Brucker}{brucker@informatik.uni-freiburg.de},
+%   \lstthanks{J\'an Bu\v{s}a}{-},
+%   \lstthanks{Thomas~ten~Cate}{-},
+%   \lstthanks{David~Carlisle}{davidc@nag.co.uk},
+%   \lstthanks{Bradford~Chamberlain}{brad@cs.washington.edu},
+%   \lstthanks{Brian~Christensen}{-},
+%   \lstthanks{Neil~Conway}{-},
+%   \lstthanks{Patrick~Cousot}{Patrick.Cousot@wanadoo.fr},
+%   \lstthanks{Xavier~Cr\'egut}{cregut@enseeiht.fr},
+%   \lstthanks{Christopher~Creutzig}{-},
+%   \lstthanks{Holger~Danielsson}{dani@fbg.schwerte.de},
+%   \lstthanks{Andreas~Deininger}{deininger@uni-kassel.de},
+%   \lstthanks{Robert~Denham}{Robert.Denham@dnr.qld.gov.au},
+%   \lstthanks{Detlev~Dr\"oge}{droege@informatik.uni-koblenz.de},
+%   \lstthanks{Anders~Edenbrandt}{Anders.Edenbrandt@dna.lth.se},
+%   \lstthanks{Mark~van~Eijk}{mark@luon.net},
+%   \lstthanks{Norbert~Eisinger}{Norbert.Eisinger@informatik.uni-muenchen.de},
+%   \lstthanks{Brian~Elmegaard}{-},
+%   \lstthanks{Jon~Ericson}{Jon.Ericson@jpl.nasa.gov},
+%   \lstthanks{Thomas~Esser}{te@dbs.uni-hannover.de},
+%   \lstthanks{Chris~Edwards}{edwch00p@infoscience.otago.ac.nz},
+%   \lstthanks{David~John~Evans}{Matrix.Software@dial.pipex.com},
+%   \lstthanks{Tanguy~Fautr\'e}{tfautre@pandora.be},
+%   \lstthanks{Ulrike~Fischer}{-},
+%   \lstthanks{Robert~Frank}{rf7@ukc.ac.uk},
+%   \lstthanks{Michael~Franke}{-},
+%   \lstthanks{Ignacio~Fern\'andez~Galv\'an}{-},
+%   \lstthanks{Martine~Gautier}{-}
+%   \lstthanks{Daniel~Gazard}{gazard_d@epita.fr},
+%   \lstthanks{Daniel~Gerigk}{Daniel.Gerigk@ePost.de},
+%   \lstthanks{Dr.~Christoph~Giess}{-},
+%   \lstthanks{KP~Gores}{kp.gores@web.de},
+%   \lstthanks{Adam~Grabowski}{adam@mizar.org},
+%   \lstthanks{Jean-Philippe~Grivet}{grivet@cnrs-orleans.fr},
+%   \lstthanks{Christian~Gudrian}{Christian.Gudrian@kawo1.rwth-aachen.de},
+%   \lstthanks{Jonathan~de~Halleux}{dehalleux@auto.ucl.ac.be},
+%   \lstthanks{Carsten~Hamm}{carsten.hamm@siemens.com},
+%   \lstthanks{Martina~Hansel}{Martina.Hansel@fhtw-berlin.de},
+%   \lstthanks{Harald~Harders}{h.harders@tu-bs.de},
+%   \lstthanks{Christian~Haul}{haul@dvs1.informatik.tu-darmstadt.de},
+%   \lstthanks{Aidan~Philip~Heerdegen}{Aidan.Heerdegen@anu.edu.au},
+%   \lstthanks{Jim~Hefferon}{Hefferon9@aol.com},
+%   \lstthanks{Heiko~Heil}{info@heiko-heil.de},
+%   \lstthanks{J\"urgen~Heim}{heim@astro.uni-tuebingen.de},
+%   \lstthanks{Martin~Heller}{-},
+%   \lstthanks{Stephan~Hennig}{-},
+%   \lstthanks{Alvaro~Herrera}{alvherre@dcc.uchile.cl},
+%   \lstthanks{Richard~Hoefter}{hoefter@gmx.de},
+%   \lstthanks{Dr.~Jobst~Hoffmann}{HOFFMANN@rz.rwth-aachen.de},
+%   \lstthanks{Torben~Hoffmann}{toho@it.dtu.dk},
+%   \lstthanks{Morten~H\o gholm}{-},
+%   \lstthanks{Berthold~H\"ollmann}{bhoel@starship.python.net},
+%   \lstthanks{G\'erard~Huet}{-},
+%   \lstthanks{Hermann~H\"uttler}{hermann.huettler@gmx.net},
+%   \lstthanks{Ralf~Imh\"auser}{snoopy@tribal.line.org},
+%   \lstthanks{R.~Isernhagen}{R.Isernhagen@FH-Wolfenbuettel.DE},
+%   \lstthanks{Oldrich~Jedlicka}{ojedlick@students.zcu.cz},
+%   \lstthanks{Dirk~Jesko}{jesko@iti.cs.uni-magdeburg.de},
+%   \lstthanks{Lo\"\i c~Joly}{-},
+%   \lstthanks{Christian~Kaiser}{chk@combit.net},
+%   \lstthanks{Bekir~Karaoglu}{karabekirus@yahoo.com},
+%   \lstthanks{Marcin~Kasperski}{Marcin.Kasperski@softax.com.pl},
+%   \lstthanks{Christian~Kindinger}{chkind@uni-wuppertal.de},
+%   \lstthanks{Steffen~Klupsch}{steffen@vlsi.informatik.tu-darmstadt.de},
+%   \lstthanks{Markus~Kohm}{-},
+%   \lstthanks{Peter~K\"oller}{pkoeller@metaprojekt.de} (big thankyou), ^^A beta tester
+%   \lstthanks{Reinhard~Kotucha}{Reinhard.Kotucha@web.de},
+%   \lstthanks{Stefan~Lagotzki}{info@lagotzki.de},
+%   \lstthanks{Tino~Langer}{langer@tournex.de},
+%   \lstthanks{Rene~H.~Larsen}{rhl@traceroute.dk},
+%   \lstthanks{Olivier~Lecarme}{ol@i3s.unice.fr},
+%   \lstthanks{Thomas~Leduc}{Thomas.Leduc@lsv.ens-cachan.fr},
+%   \lstthanks{Dr.~Peter~Leibner}{Peter.Leibner@sta.siemens.de},
+%   \lstthanks{Thomas~Leonhardt}{leonhardt@informatik.tu-darmstadt.de} (big thankyou), ^^A beta tester
+%   \lstthanks{Magnus~Lewis-Smith}{Magnus.Lewis-Smith@pace.co.uk},
+%   \lstthanks{Knut~Lickert}{knut.lickert@gmx.de},
+%   \lstthanks{Benjamin~Lings}{-},
+%   \lstthanks{Dan~Luecking}{luecking@uark.edu},
+%   \lstthanks{Peter~L\"offler}{-},
+%   \lstthanks{Markus~Luisser}{-},
+%   \lstthanks{Kris~Luyten}{no email available},
+%   \lstthanks{Jos\'e~Romildo~Malaquias}{romildo@urano.iceb.ufop.br},
+%   \lstthanks{Andreas~Matthias}{amat@kabsi.at},
+%   \lstthanks{Patrick~TJ~McPhee}{ptjm@interlog.com},
+%   ^^A \lstthanks{Brooks~Moses}{-},
+%   \lstthanks{Riccardo~Murri}{riccardo.murri@gmx.it},
+%   \lstthanks{Knut~M\"uller}{knut@physik3.gwdg.de},
+%   \lstthanks{Svend~Tollak~Munkejord}{svendm@efisms.energy.sintef.no},
+%   \lstthanks{Gerd~Neugebauer}{gerd.neugebauer@gmx.de},
+%   \lstthanks{Torsten~Neuer}{tneuer@inwise.de},
+%   \lstthanks{Enzo~Nicosia}{-},
+%   \lstthanks{Michael~Niedermair}{m.g.n@gmx.de},
+%   \lstthanks{Xavier~Noria}{fxn@hashref.com},
+%   \lstthanks{Heiko~Oberdiek}{oberdiek@ruf.uni-freiburg.de},
+%   \lstthanks{Xavier~Olive}{-},
+%   \lstthanks{Alessio~Pace}{-},
+%   \lstthanks{Markus~Pahlow}{pahlowm@mar.dfo-mpo.gc.ca},
+%   \lstthanks{Morten~H.~Pedersen}{mhp@dadlnet.dk},
+%   \lstthanks{Xiaobo~Peng}{-},
+%   \lstthanks{Zvezdan~V.~Petkovic}{zpetkovic@acm.org},
+%   \lstthanks{Michael~Piefel}{piefel@informatik.hu-berlin.de},
+%   \lstthanks{Michael~Piotrowski}{mxp@linguistik.uni-erlangen.de},
+%   \lstthanks{Manfred~Piringer}{sz0490@rrze.uni-erlangen.de},
+%   \lstthanks{Vincent~Poirriez}{Vincent.Poirriez@univ-valenciennes.fr},
+%   \lstthanks{Adam~Prugel-Bennett}{apb@ecs.soton.ac.uk},
+%   \lstthanks{Ralf~Quast}{rquast@hs.uni-hamburg.de},
+%   \lstthanks{Aslak~Raanes}{araanes@ifi.ntnu.no},
+%   \lstthanks{Venkatesh~Prasad~Ranganath}{vranganath@cox.net},
+%   \lstthanks{Tobias~Rapp}{-},
+%   \lstthanks{Jeffrey~Ratcliffe}{-},
+%   \lstthanks{Georg~Rehm}{Georg.Rehm@germanistik.uni-giessen.de},
+%   \lstthanks{Fermin~Reig}{reig@ics.uci.edu},
+%   \lstthanks{Detlef~Reimers}{dreimers@aol.com},
+%   \lstthanks{Stephen~Reindl}{stephen.reindl@vodafone.com},
+%   \lstthanks{Franz~Rinnerthaler}{-},
+%   \lstthanks{Peter~Ruckdeschel}{Peter.Ruckdeschel@uni-bayreuth.de},
+%   \lstthanks{Magne~Rudshaug}{magne@ife.no},
+%   \lstthanks{Jonathan~Sauer}{jonathan.sauer@gmx.de},
+%   \lstthanks{Vespe~Savikko}{vespe@cs.tut.fi},
+%   \lstthanks{Mark~Schade}{-},
+%   \lstthanks{Gunther~Schmidl}{gschmidl@gmx.at},
+%   \lstthanks{Andreas~Schmidt}{-},
+%   \lstthanks{Walter~Schmidt}{wschmi@arcor.de},
+%   \lstthanks{Christian~Schneider}{-},
+%   \lstthanks{Jochen~Schneider}{jschneider@ds3.etech.haw-hamburg.de},
+%   \lstthanks{Benjamin~Schubert}{benjamin.schubert@berlin.de},
+%   \lstthanks{Sebastian~Schubert}{-},
+%   \lstthanks{Uwe~Siart}{uwe.siart@ei.tum.de},
+%   \lstthanks{Axel~Sommerfeldt}{axel@sommerfeldt.net},
+%   \lstthanks{Richard~Stallman}{-},
+%   \lstthanks{Nigel~Stanger}{nstanger@infoscience.otago.ac.nz},
+%   \lstthanks{Martin~Steffen}{ms@informatik.uni-kiel.de},
+%   \lstthanks{Andreas~Stephan}{Andreas.Stephan@victoria.de},
+%   \lstthanks{Stefan~Stoll}{stoll@phys.chem.ethz.ch},
+%   \lstthanks{Enrico~Straube}{no email available},
+%   \lstthanks{Werner~Struckmann}{struck@ips.cs.tu-bs.de},
+%   \lstthanks{Martin~S\"u\ss kraut}{Edon.Myder@web.de},
+%   \lstthanks{Gabriel~Tauro}{gabriel@informatik.uni-jena.de},
+%   \lstthanks{Winfried~Theis}{theis@statistik.uni-dortmund.de},
+%   \lstthanks{Jens~T.~Berger~Thielemann}{jensthi@ifi.uio.no},
+%   \lstthanks{William~Thimbleby}{-},
+%   \lstthanks{Arnaud~Tisserand}{arnaud.tisserand@ens-lyon.fr},
+%   \lstthanks{Jens~Troeger}{-},
+%   \lstthanks{Kalle~Tuulos}{kalle.tuulos@nic.fi},
+%   \lstthanks{Gregory~Van~Vooren}{Gregory.VanVooren@rug.ac.be},
+%   \lstthanks{Timothy~Van~Zandt}{tvz@econ.insead.edu},
+%   \lstthanks{J\"org~Viermann}{-},
+%   \lstthanks{Thorsten~Vitt}{vitt@informatik.hu-berlin.de},
+%   \lstthanks{Herbert~Voss}{voss@perce.de} (big thankyou), ^^A beta tester
+%   \lstthanks{Edsko~de~Vries}{devriese@tcd.ie},
+%   \lstthanks{Herfried~Karl~Wagner}{hirf@gmx.at},
+%   \lstthanks{Dominique~de~Waleffe}{ddw@miscrit.be},
+%   \lstthanks{Bernhard~Walle}{-},
+%   \lstthanks{Jared~Warren}{warren@cs.queensu.ca},
+%   \lstthanks{Michael~Weber}{mweber@informatik.hu-berlin.de},
+%   \lstthanks{Sonja~Weidmann}{Sonja.Weidmann@gmx.de},
+%   \lstthanks{Andreas~Weidner}{-},
+%   \lstthanks{Herbert~Weinhandl}{weinhand@grz08u.unileoben.ac.at},
+%   \lstthanks{Robert~Wenner}{robert.wenner@gmx.de},
+%   \lstthanks{Michael~Wiese}{wiese@itwm.uni-kl.de},
+%   \lstthanks{James~Willans}{-},
+%   \lstthanks{J\"orn~Wilms}{wilms@rocinante.colorado.edu},
+%   \lstthanks{Kai~Wollenweber}{kai@ece.WPI.EDU},
+%   \lstthanks{Ulrich~G.~Wortmann}{uliw@erdw.ethz.ch},
+%   \lstthanks{Cameron~H.G.~Wright}{-},
+%   \lstthanks{Andrew~Zabolotny}{-}, and
+%   \lstthanks{Florian~Z\"ahringer}{-}.
+% \end{quote}
+% There are probably other people who contributed to this package.
+% If I've missed your name, send an email.
+% \end{advise}
+%
+%
+% \part{Reference guide}
+%
+%
+% \section{Main reference}\label{rMainReference}
+%
+% Your first training is completed. Now that you've left the User's guide, the
+% friend telling you what to do has gone. Get more practice and become a
+% journeyman!^^A :-)
+% \begin{advise}
+% \item Actually, the friend hasn't gone. There are still some advices, but
+%       only from time to time.
+% \end{advise}
+%
+%
+% \subsection{How to read the reference}
+%
+% Commands, keys and environments are presented as follows.
+% \begin{syntax}
+% \item[1.0,default,hints] \texttt{command}, \texttt{environment} or
+%       \keyname{key} with \meta{parameters}
+%
+%       This field contains the explanation; here we describe the other fields.
+%
+%       If present, the label in the left margin provides extra information:
+%       `\textit{addon}' indicates additionally introduced functionality,
+%       `\textit{changed}' a modified key, `\textit{data}' a command just
+%       containing data (which is therefore adjustable via |\renewcommand|),
+%       and so on. Some keys and functionality are `\emph{bug}'-marked or
+%       with a \dag-sign. These features might change in future or could be
+%       removed, so use them with care.
+%
+%       If there is verbatim text touching the right margin, it is the
+%       predefined value. Note that some keys default to this value every
+%       listing, namely the keys which can be used on individual listings only.
+% \end{syntax}
+% Regarding the parameters, please keep in mind the following:
+% \begin{enumerate}
+% \item A list always means a comma separated list. You must put braces around
+%       such a list. Otherwise you'll get in trouble with the
+%       \packagename{keyval} package; it complains about an undefined key.
+% \item You must put parameter braces around the whole value of a key if you
+%       use an \oarg{optional argument} of a key inside an optional
+%       \oarg{key=value list}:
+%       |\begin{lstlisting}[caption=|{\rstyle|{|}|[one]two|{\rstyle|}|}|]|.
+% \item Brackets `|[ ]|' usually enclose optional arguments and must be typed
+%       in verbatim. Normal brackets `[ ]' always indicate an optional argument
+%       and must not be typed in. Thus |[*]| must be typed in exactly as is,
+%       but [|*|] just gets |*| if you use this argument.
+% \item A vertical rule indicates an alternative, e.g.~^^A
+%       \meta{\alternative{true,false}} allows either \texttt{true} or
+%       \texttt{false} as arguments.
+% \item If you want to enter one of the special characters |{}#%\|, this
+%       character must be escaped with a backslash. This means that you must
+%       write |\}| for the single character `right brace'---but of course not
+%       for the closing paramater character.
+% \end{enumerate}
+%
+%
+% \subsection{Typesetting listings}\label{rTypesettingListings}
+%
+% \begin{syntax}
+% \item[0.19] \rcmdname\lstset\marg{key=value list}
+%
+%       sets the values of the specified keys, see also section
+%       \ref{uTheKey=ValueInterface}.
+%       The parameters keep their values up to the end of the current group.
+%       In contrast, all optional \meta{key=value list}s below modify the
+%       parameters for single listings only.
+%
+% \item[0.18] \rcmdname\lstinline\oarg{key=value list}\meta{character}\meta{source code}\meta{same character}
+%
+%       works like |\verb| but respects the active language and style. These
+%       listings use flexible columns unless requested differently in the
+%       optional argument, and do not support frames or background colors.
+%       You can write `|\lstinline!var i:integer;!|' and get
+%       `\lstinline!var i:integer;!'.
+%
+%       Since the command first looks ahead for an optional argument, you must
+%       provide at least an empty one if you want to use |[| as
+%       \meta{character}.
+%
+%       \dag\ An experimental implementation has been done to support the
+%       syntax |\lstinline|\oarg{key=value list}\marg{source code}. Try it if
+%       you want and report success and failure. A known limitation is that
+%       inside another argument the last source code token must not be an
+%       explicit space token---and, of course, using a listing inside another
+%       argument is itself experimental, see section \ref{rListingsInsideArguments}.
+%
+%       See also section \ref{rShortInline} for commands to create short analogs
+%       for the |\lstinline| command.
+%
+% \item[0.15] |\begin{|\texttt{\rstyle lstlisting}|}|\oarg{key=value list}
+%
+%       \leavevmode\hspace*{-\leftmargini}|\end{|\texttt{\rstyle lstlisting}|}|
+%
+%       typesets the code in between as a displayed listing.
+%
+%       In contrast to the environment of the \packagename{verbatim} package,
+%       \LaTeX\ code on the same line and after the end of environment is
+%       typeset respectively executed.
+%
+% \item[0.1] \rcmdname\lstinputlisting\oarg{key=value list}\marg{file name}
+%
+%       typesets the stand alone source code file as a displayed listing.
+% \end{syntax}
+%
+%
+% \subsection{Space and placement}
+%
+% \begin{syntax}
+% \item[0.20,floatplacement] \rkeyname{float}|=|[|*|]\meta{subset of \textup{\texttt{tbph}}}\syntaxor\rkeyname{float}
+%
+%       makes sense on individual displayed listings only and lets them float.
+%       The argument controls where \LaTeX\ is \emph{allowed} to put the float:
+%       at the top or bottom of the current/next page, on a separate page, or
+%       here where the listing is.
+%
+%       The optional star can be used to get a double-column float in a
+%       two-column document.
+%
+% \item[0.21,tbp] \rkeyname{floatplacement}|=|\meta{place specifiers}
+%
+%       is used as place specifier if \keyname{float} is used without value.
+%
+% \item[0.21,\medskipamount] \rkeyname{aboveskip}|=|\meta{dimension}
+% \item[0.21,\medskipamount] \rkeyname{belowskip}|=|\meta{dimension}
+%
+%       define the space above and below displayed listings.
+%
+% \item[0.17,0pt,\dag] \rkeyname{lineskip}|=|\meta{dimension}
+%
+%       specifies additional space between lines in listings.
+%
+% \item[0.18,c,\dag] \rkeyname{boxpos}|=|\meta{\alternative{b,c,t}}
+%
+%       Sometimes the \packagename{listings} package puts a |\hbox| around a
+%       listing---or it couldn't be printed or even processed correctly.
+%       The key determines the vertical alignment to the surrounding material:
+%       bottom baseline, centered or top baseline.
+% \end{syntax}
+%
+%
+% \subsection{The printed range}
+%
+% \begin{syntax}
+% \item[0.12,true] \rkeyname{print}|=|\meta{\alternative{true,false}}\syntaxor\rkeyname{print}
+%
+%       controls whether an individual displayed listing is typeset. Even if
+%       set false, the respective caption is printed and the label is defined.
+%
+%       Note: If the package is loaded without the \texttt{draft} option, you
+%       can use this key together with |\lstset|. In the other case the key
+%       can be used to typeset particular listings despite using the
+%       \texttt{draft} option.
+%
+% \item[0.1,1] \rkeyname{firstline}|=|\meta{number}
+% \item[0.1,9999999] \rkeyname{lastline}|=|\meta{number}
+%
+%       can be used on individual listings only. They determine the physical
+%       input lines used to print displayed listings.
+%
+% \item[1.2] \rkeyname{linerange}|={|\meta{first1}\texttt-\meta{last1}\texttt,\meta{first2}\texttt-\meta{last2}\texttt, and so on|}|\label{uoption:linerange}
+%
+%       can be used on individual listings only. The given line ranges
+%       of the listing are displayed. The intervals must be sorted and must
+%       not intersect.
+%
+% \item[0.20,false] \rkeyname{showlines}|=|\meta{\alternative{true,false}}\syntaxor\rkeyname{showlines}
+%
+%       If true, the package prints empty lines at the end of listings.
+%       Otherwise these lines are dropped (but they count for line numbering).
+%
+% \item[1.0] \rkeyname{emptylines}|=|[|*|]\meta{number}
+%
+%       sets the maximum of empty lines allowed. If there is a block of more
+%       than \meta{number} empty lines, only \meta{number} ones are printed.
+%       Without the optional star, line numbers can be disturbed when blank
+%       lines are omitted; with the star, the lines keep their original
+%       numbers.
+%
+% \item[0.19,0] \rkeyname{gobble}|=|\meta{number}
+%
+%       gobbles \meta{number} characters at the beginning of each
+%       \emph{environment} code line. This key has no effect on \cs{lstinline}
+%       or \cs{lstinputlisting}.
+%
+%       Tabulators expand to \ikeyname{tabsize} spaces before they are gobbled.
+%       Code lines with fewer than \ikeyname{gobble} characters are considered
+%       empty.  Never indent the end of environment by more characters.
+% \end{syntax}
+%
+%
+% \subsection{Languages and styles}\label{rLanguagesAndStyles}
+%
+% Please note that the arguments \meta{language}, \meta{dialect}, and
+% \meta{style name} are case insensitive and that spaces have no effect.
+% \begin{syntax}
+% \item[0.18,{{}}] \rkeyname{style}|=|\meta{style name}
+%
+%       activates the key=value list stored with |\lstdefinestyle|.
+%
+% \item[0.19] \rcmdname\lstdefinestyle\marg{style name}\marg{key=value list}
+%
+%       stores the key=value list.
+%
+% \item[0.17,{{}}] \rkeyname{language}|=|\oarg{dialect}\meta{language}
+%
+%       activates a (dialect of a) programming language. The `empty' default
+%       language detects no keywords, no comments, no strings, and so on; it
+%       may be useful for typesetting plain text.
+%       If \meta{dialect} is not specified, the package chooses the default
+%       dialect, or the empty dialect if there is no default dialect.
+%
+%       Table \ref{uPredefinedLanguages} on page \pageref{uPredefinedLanguages}
+%       lists all languages and dialects provided by \texttt{lstdrvrs.dtx}.
+%       The predefined default dialects are underlined.
+%
+% \item[0.21] \rkeyname{alsolanguage}|=|\oarg{dialect}\meta{language}
+%
+%       activates a (dialect of a) programming language in addition to the
+%       current active one. Note that some language definitions interfere with
+%       each other and are plainly incompatible; for instance, if one is case
+%       sensitive and the other is not.
+%
+%       Take a look at the \ikeyname{classoffset} key in section
+%       \ref{rFigureOutTheAppearance} if you want to highlight the keywords
+%       of the languages differently.
+%
+% \item[0.19] \rkeyname{defaultdialect}|=|\oarg{dialect}\meta{language}
+%
+%       defines \meta{dialect} as default dialect for \meta{language}.
+%       If you have defined a default dialect other than empty, for example
+%       |defaultdialect=[iama]fool|, you can't select the empty dialect, even
+%       not with |language=[]fool|.
+% \end{syntax}
+%
+% Finally, here's a small list of language-specific keys.
+% \begin{syntax}
+% \item[0.19,false,optional] \rkeyname{printpod}|=|\meta{\alternative{true,false}}
+%
+%       prints or drops PODs in Perl.
+%
+% \item[0.20,true,{renamed,optional}] \rkeyname{usekeywordsintag}|=|\meta{\alternative{true,false}}\label{uoption:usekeywordsintag}
+%
+%       The package either use the first order keywords in tags or prints all
+%       identifiers inside |<>| in keyword style.
+%
+% \item[1.1,{{}},optional] \rkeyname{tagstyle}|=|\meta{style}\label{uoption:tagstyle}
+%
+%       determines the style in which tags and their content is printed.
+%
+% \item[1.1,false,optional] \rkeyname{markfirstintag}|=|\meta{style}\label{uoption:markfirstintag}
+%
+%       prints the first name in tags with keyword style.
+%
+% \item[0.20,true,optional] \rkeyname{makemacrouse}|=|\meta{\alternative{true,false}}
+%
+%       Make specific: Macro use of identifiers, which are defined as first
+%       order keywords, also prints the surrounding |$(| and |)| in keyword
+%       style. e.g.~you could get
+%           \textbf{\textdollar(}\textbf{strip} \textdollar(BIBS)\textbf{)}.
+%       If deactivated you get
+%           \textdollar(\textbf{strip} \textdollar(BIBS)).
+% \end{syntax}
+%
+%
+% \subsection{Figure out the appearance}\label{rFigureOutTheAppearance}
+%
+% \begin{syntax}
+% \item[0.18,{{}}] \rkeyname{basicstyle}|=|\meta{basic style}
+%
+%       is selected at the beginning of each listing. You could use
+%       |\footnotesize|, |\small|, |\itshape|, |\ttfamily|, or something like
+%       that. The last token of \meta{basic style} must not read any following
+%       characters.
+%
+% \item[0.18,{{}}] \rkeyname{identifierstyle}|=|\meta{style}
+% \item[0.11,\itshape] \rkeyname{commentstyle}|=|\meta{style}
+% \item[0.12,{{}}] \rkeyname{stringstyle}|=|\meta{style}
+%
+%       determines the style for non-keywords, comments, and strings. The
+%       \emph{last} token can be an one-parameter command like |\textbf| or
+%       |\underbar|.
+%
+% \item[0.11,\bfseries,addon] \rkeyname{keywordstyle}|=|\oarg{number}[\textasteriskcentered]\meta{style}\label{roption:keywordstyle}
+%
+%       is used to print keywords.  The optional \meta{number} argument is the
+%       class number to which the style should be applied.
+%
+%       Add-on: If you use the optional star after the (optional) class number, the
+%       keywords are printed uppercase\,---\,even if a language is case
+%       sensitive and defines lowercase keywords only. Maybe there should also be an
+%       option for lowercase keywords \ldots
+%
+% \item[0.19,keywordstyle,deprecated] \rkeyname{ndkeywordstyle}|=|\meta{style}
+%
+%       is equivalent to |keywordstyle=2|\meta{style}.
+%
+% \item[1.0,0] \rkeyname{classoffset}|=|\meta{number}
+%
+%       is added to all class numbers before the styles, keywords, identifiers,
+%       etc.~are assigned. The example below defines the keywords directly;
+%       you could do it indirectly by selecting two different languages.
+% \end{syntax}
+%\ifcolor
+% \begin{lstxsample}
+%    \lstset{classoffset=0,
+%            morekeywords={one,three,five},keywordstyle=\color{red},
+%            classoffset=1,
+%            morekeywords={two,four,six},keywordstyle=\color{blue},
+%            classoffset=0}% restore default
+% \end{lstxsample}
+%\else
+% \begin{lstxsample}
+%    \lstset{classoffset=0,
+%            morekeywords={one,three,five},keywordstyle=\itshape,
+%            classoffset=1,
+%            morekeywords={two,four,six},keywordstyle=\bfseries},
+%            classoffset=0}% restore default
+% \end{lstxsample}
+%\fi
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}
+%    one two three
+%    four five six
+%    \end{lstlisting}
+% \end{lstsample}
+%
+% \begin{syntax}
+% \item[0.20,keywordstyle,{addon,bug,optional}] \rkeyname{texcsstyle}|=|[|*|]\oarg{class number}\meta{style}\label{roption:texcsstyle}
+% \item[0.20,keywordstyle,optional] \rkeyname{directivestyle}|=|\meta{style}
+%
+%       determine the style of \TeX\ control sequences and directives.
+%       Note that these keys are present only if you've chosen an appropriate
+%       language.
+%
+%       The optional star of |texcsstyle| also highlights the backslash in
+%       front of the control sequence name. Note that this option is set for
+%       all |texcs| lists.
+%
+%       Bug: \texttt{texcs\ldots} interferes with other keyword lists. If, for
+%       example, \texttt{emph} contains the word \texttt{foo}, then the control
+%       sequence |\foo| will show up in \texttt{emphstyle}.
+%
+% \item[0.21] \rkeyname{emph}|=|\oarg{number}\marg{identifier list}
+% \item[0.21] \rkeyname{moreemph}|=|\oarg{number}\marg{identifier list}
+% \item[0.21] \rkeyname{deleteemph}|=|\oarg{number}\marg{identifier list}
+% \item[0.21] \rkeyname{emphstyle}|=|\oarg{number}\marg{style}
+%
+%       respectively define, add or remove the \meta{identifier list} from
+%       `emphasize class \meta{number}', or define the style for that class.
+%       If you don't give an optional argument, the package assumes
+%       \meta{number}$\,=1$.
+%
+%       These keys are described more detailed in section
+%       \ref{uEmphasizeIdentifiers}.
+%
+% \item[1.0] \rkeyname{delim}|=|[\texttt*[\texttt*]]\texttt[\meta{type}\texttt][\texttt[\meta{style}\texttt]]\meta{delimiter\textup(s\textup)}
+% \item[1.0] \rkeyname{moredelim}|=|[\texttt*[\texttt*]]\texttt[\meta{type}\texttt][\texttt[\meta{style}\texttt]]\meta{delimiter\textup(s\textup)}
+% \item[1.0] \rkeyname{deletedelim}|=|[\texttt*[\texttt*]]\texttt[\meta{type}\texttt]\meta{delimiter\textup(s\textup)}
+%
+%       define, add, or remove user supplied delimiters.  (Note that this does
+%       not affect strings or comments.)
+%
+%       In the first two cases \meta{style} is used to print the delimited
+%       code (and the delimiters). Here, \meta{style} could be something like
+%       |\bfseries| or |\itshape|, or it could refer to other styles via
+%       \texttt{keywordstyle}, \texttt{keywordstyle2}, \texttt{emphstyle},
+%       etc.
+%
+%       Supported types are \texttt{l} and \texttt{s}, see the comment keys in
+%       section \ref{uLanguageDefinitions} for an explanation. If you use the
+%       prefix \texttt i, i.e.~\texttt{il} or \texttt{is}, the delimiters are
+%       not printed, which is some kind of invisibility.
+%
+%       If you use one optional star, the package will detect keywords,
+%       comments, and strings inside the delimited code. With both optional
+%       stars, aditionally the style is applied cumulatively; see section
+%       \ref{uDelimiters}.
+% \end{syntax}
+%
+%
+% \subsection{Getting all characters right}
+%
+% \begin{syntax}
+% \item[0.18,true] \rkeyname{extendedchars}|=|\meta{\alternative{true,false}}\syntaxor\rkeyname{extendedchars}
+%
+%       allows or prohibits extended characters in listings, that means
+%       (national) characters of codes 128--255. If you use extended
+%       characters, you should load \packagename{fontenc} and/or
+%       \packagename{inputenc}, for example.
+%
+% \item[1.0,{{}}] \rkeyname{inputencoding}|=|\meta{encoding}
+%
+%       determines the input encoding. The usage of this key requires the
+%       \packagename{inputenc} package; nothing happens if it's not loaded.
+%
+% \item[1.1,false] \rkeyname{upquote}|=|\meta{\alternative{true,false}}\label{uoption:upquote}
+%
+%       determines whether the left and right quote are printed |`'| or
+%       \texttt{\textasciigrave\textquotesingle}.
+%       This key requires the \packagename{textcomp} package if true.
+%
+% \item[0.12,8] \rkeyname{tabsize}|=|\meta{number}
+%
+%       sets tabulator stops at columns $\meta{number}+1$, $2\cdot\meta{number}+1$, $3\cdot\meta{number}+1$, and so on.
+%       Each tabulator in a listing moves the current column to the next
+%       tabulator stop.
+%
+% \item[0.20,false] \rkeyname{showtabs}|=|\meta{\alternative{true,false}}
+%
+%       make tabulators visible or invisible. A visible tabulator looks like
+%       \lstinline[showtabs]!	!, but that can be changed. If you choose
+%       invisible tabulators but visible spaces, tabulators are converted to
+%       an appropriate number of spaces.
+%
+% \item[0.20] \rkeyname{tab}|=|\meta{tokens}
+%
+%       \meta{tokens} is used to print a visible tabulator. You might want to use |$\to$|, |$\mapsto$|, |$\dashv$| or something like that instead of the strange default definition.
+%
+% \item[0.20,false] \rkeyname{showspaces}|=|\meta{\alternative{true,false}}
+%
+%       lets all blank spaces appear {\textvisiblespace} or as blank spaces.
+%
+% \item[0.12,true] \rkeyname{showstringspaces}|=|\meta{\alternative{true,false}}
+%
+%       lets blank spaces in strings appear {\textvisiblespace} or as blank
+%       spaces.
+%
+% \item[0.19,\bigbreak] \rkeyname{formfeed}|=|\meta{tokens}
+%
+%       Whenever a listing contains a form feed, \meta{tokens} is executed.
+% \end{syntax}
+%
+%
+% \subsection{Line numbers}\label{rLineNumbers}
+%
+% \begin{syntax}
+% \item[1.0,none] \rkeyname{numbers}|=|\meta{\alternative{none,left,right}}
+%
+%       makes the package either print no line numbers, or put them on the
+%       left or the right side of a listing.
+%
+% \item[0.16,1] \rkeyname{stepnumber}|=|\meta{number}
+%
+%       All lines with ``line number $\equiv 0$ modulo \meta{number}'' get a
+%       line number. 
+%       If you turn line numbers on and off with \keyname{numbers}, the
+%       parameter \keyname{stepnumber} will keep its value. Alternatively you
+%       can turn them off via |stepnumber=0| and on with a nonzero number, and
+%       keep the value of \keyname{numbers}.
+%
+% \item[1.1,false] \rkeyname{numberfirstline}|=|\meta{\alternative{true,false}}\label{uoption:numberfirstline}
+%
+%       The first line of each listing gets numbered (if numbers are on at all)
+%       even if the line number is not divisible by \keyname{stepnumber}.
+%
+% \item[0.16,{{}}] \rkeyname{numberstyle}|=|\meta{style}
+%
+%       determines the font and size of the numbers.
+%
+% \item[0.19,10pt] \rkeyname{numbersep}|=|\meta{dimension}
+%
+%       is the distance between number and listing.
+%
+% \item[1.0,true] \rkeyname{numberblanklines}|=|\meta{\alternative{true,false}}
+%
+%       If this is set to false, blank lines get no printed line number.
+%
+% \item[0.20,auto] \rkeyname{firstnumber}|=|\meta{\alternative{auto,last,\normalfont\meta{number}}}
+%
+%       \texttt{auto} lets the package choose the first number: a new listing
+%       starts with number one, a named listing continues the most recent
+%       same-named listing (see below), and a stand alone file begins with
+%       the number corresponding to the first input line.
+%
+%       \texttt{last} continues the numbering of the most recent listing and
+%       \meta{number} sets it to the number.
+%
+% \item[1.0] \rkeyname{name}|=|\meta{name}
+%
+%       names a listing. Displayed environment-listings with the same name
+%       share a line counter if |firstnumber=auto| is in effect.
+%
+% \item[0.20,\arabic{lstnumber},data] \rcmdname\thelstnumber
+%
+%       prints the lines' numbers.
+% \end{syntax}
+% We show an example on how to redefine |\thelstnumber|. But if you test it,
+% you won't get the result shown on the left.
+% \begin{lstxsample}
+%    \renewcommand*\thelstnumber{\oldstylenums{\the\value{lstnumber}}}
+% \end{lstxsample}
+% \begin{lstsample}{\lstset{stepnumber=-1}\label{rDecreasingLabels}}{}
+%    \begin{lstlisting}[numbers=left,
+%                       firstnumber=753]
+%    begin { empty lines }
+%
+%
+%
+%
+%
+%
+%    end; { empty lines }
+%    \end{lstlisting}
+% \end{lstsample}
+%
+% \begin{advise}
+% \item
+% The example shows a sequence $n,n+1,\ldots,n+7$ of 8 three-digit figures such that the sequence contains each digit $0,1,\ldots,9$.
+% But 8 is not minimal with that property.
+% Find the minimal number and prove that it is minimal.
+% How many minimal sequences do exist?
+%
+% Now look at the generalized problem:
+% Let $k\in\{1,\ldots,10\}$ be given.
+% Find the minimal number $m\in\{1,\ldots,10\}$ such that there is a sequence $n,{n+1},\ldots,\allowbreak{n+m-1}$ of $m$ $k$-digit figures which contains each digit $\{0,\ldots,9\}$.
+% Prove that the number is minimal.
+% How many minimal sequences do exist?
+%
+% If you solve this problem with a computer, write a \TeX\ program!
+% \end{advise}
+%
+%
+% \subsection{Captions}
+%
+% In despite of \LaTeX\ standard behaviour, captions and floats are independent
+% from each other here; you can use captions with non-floating listings.
+% \begin{syntax}
+% \item[0.21] \rkeyname{title}|=|\meta{title text}
+%
+%       is used for a title without any numbering or label.
+%
+% \item[0.20] \rkeyname{caption}|={|\oarg{short}\meta{caption text}|}|
+%
+%       The caption is made of \cs{lstlistingname} followed by a running
+%       number, a seperator, and \meta{caption text}. Either the caption text
+%       or, if present, \meta{short} will be used for the list of listings.
+%
+% \item[0.21] \rkeyname{label}|=|\meta{name}
+%
+%       makes a listing referable via |\ref|\marg{name}.
+%
+% \item[0.16] \rcmdname\lstlistoflistings
+%
+%       prints a list of listings. Each entry is with descending priority
+%       either the short caption, the caption, the file name or the name of the
+%       listing, see also the key \keyname{name} in section \ref{rLineNumbers}.
+%
+% \item[1.0] \rkeyname{nolol}|=|\meta{\alternative{true,false}}\syntaxor\rkeyname{nolol}
+%
+%       If true, the listing does not make it into the list of listings.
+%
+% \item[0.16,Listings,data] \rcmdname\lstlistlistingname
+%
+%       The header name for the list of listings.
+%
+% \item[0.20,Listing,data] \rcmdname\lstlistingname
+%
+%       The caption label for listings.
+%
+% \item[0.20,\arabic{lstlisting},data] \rcmdname\thelstlisting
+%
+%       prints the running number of the caption.
+%
+% \item[1.4,true] \rkeyname{numberbychapter}|=|\meta{\alternative{true,false}}
+%
+%       If true, and |\thechapter| exists, listings are numbered by chapter.
+%       Otherwise, they are numbered sequentially from the beginning of the
+%       document.  This key can only be used before |\begin{document}|.
+%
+% \item[0.19] \rcmdname\lstname
+%
+%       prints the name of the current listing which is either the file name or
+%       the name defined by the \keyname{name} key. This command can be used to
+%       define a caption or title template, for example by
+%       |\lstset{caption=\lstname}|.
+%
+% \item[0.20,t] \rkeyname{captionpos}|=|\meta{subset of \textup{\texttt{tb}}}
+%
+%       specifies the positions of the caption: top and/or bottom of the
+%       listing.
+%
+% \item[0.20,\smallskipamount] \rkeyname{abovecaptionskip}|=|\meta{dimension}
+% \item[0.20,\smallskipamount] \rkeyname{belowcaptionskip}|=|\meta{dimension}
+%
+%       is the vertical space respectively above or below each caption.
+% \end{syntax}
+%
+%
+% \subsection{Margins and line shape}\label{rMarginsAndLineShape}
+%
+% \begin{syntax}
+% \item[0.21,\linewidth] \rkeyname{linewidth}|=|\meta{dimension}
+%
+%       defines the base line width for listings. The following three keys are
+%       taken into account additionally.
+%
+% \item[0.19,0pt] \rkeyname{xleftmargin}|=|\meta{dimension}
+% \item[1.0,0pt] \rkeyname{xrightmargin}|=|\meta{dimension}
+%
+%       The dimensions are used as extra margins on the left and right. Line
+%       numbers and frames are both moved accordingly.
+%
+% \item[0.19,false] \rkeyname{resetmargins}|=|\meta{\alternative{true,false}}
+%
+%       If true, indention from list environments like \texttt{enumerate} or
+%       \texttt{itemize} is reset, i.e.~not used.
+%
+% \item[0.20,false] \rkeyname{breaklines}|=|\meta{\alternative{true,false}}\syntaxor\rkeyname{breaklines}
+%
+%       activates or deactivates automatic line breaking of long lines.
+%
+% \item[1.2,false] \rkeyname{breakatwhitespace}|=|\meta{\alternative{true,false}}\syntaxor\rkeyname{breakatwhitespace}\label{uoption:breakatwhitespace}
+%
+%       If true, it allows line breaks only at white space.
+%
+% \item[0.20,{{}}] \rkeyname{prebreak}|=|\meta{tokens}
+% \item[0.20,{{}}] \rkeyname{postbreak}|=|\meta{tokens}
+%
+%       \meta{tokens} appear at the end of the current line respectively at the beginning of the next (broken part of the) line.
+%
+%       You must not use dynamic space (in particular spaces) since internally we use |\discretionary|.
+%       However |\space| is redefined to be used inside \meta{tokens}.
+%
+% \item[0.20,20pt] \rkeyname{breakindent}|=|\meta{dimension}
+%
+%       is the indention of the second, third, \ldots\ line of broken lines.
+%
+% \item[0.20,true] \rkeyname{breakautoindent}|=|\meta{\alternative{true,false}}\syntaxor\rkeyname{breakautoindent}
+%
+%       activates or deactivates automatic indention of broken lines. This
+%       indention is used additionally to \ikeyname{breakindent}, see the
+%       example below.
+%       Visible spaces or visible tabulators might set this auto
+%       indention to zero.
+% \end{syntax}
+% In the following example we use tabulators to create long lines, but the
+% verbatim part uses |tabsize=1|.
+% \begin{lstxsample}
+%    \lstset{postbreak=\space, breakindent=5pt, breaklines}
+% \end{lstxsample}
+% \begin{lstsample}{\lstset{string=[d]",tabsize=6}}{\lstset{tabsize=1}\hfuzz=1in}
+%    \begin{lstlisting}
+%    		"A long string is broken!"
+%    			"Another long line."
+%    \end{lstlisting}
+%
+%    \begin{lstlisting}[breakautoindent
+%                                 =false]
+%    		{ Now auto indention is off. }
+%    \end{lstlisting}
+% \end{lstsample}
+%
+%
+% \subsection{Frames}\label{rFrames}
+%
+% \begin{syntax}
+% \item[1.0,none] \rkeyname{frame}|=|\meta{\alternative{none,leftline,topline,bottomline,lines,single,shadowbox}}
+%
+%       draws either no frame, a single line on the left, at the top, at the
+%       bottom, at the top and bottom, a whole single frame, or a shadowbox.
+%
+%       Note that \packagename{fancyvrb} supports the same frame types except
+%       \texttt{shadowbox}. The shadow color is \keyname{rulesepcolor}, see
+%       below.
+%
+% \item[0.19,{{}}] \rkeyname{frame}|=|\meta{subset of \textup{\texttt{trblTRBL}}}
+%
+%		The characters \texttt{trblTRBL} designate lines at the top and
+%       bottom of a listing and to lines on the right and left. Upper case
+%       characters are used to draw double rules. So |frame=tlrb| draws a
+%       single frame and |frame=TL| double lines at the top and on the left.
+%
+%       Note that frames usually reside outside the listing's space.
+%
+% \item[0.20,ffff] \rkeyname{frameround}|=|\meta{\alternative{t,f}}\meta{\alternative{t,f}}\meta{\alternative{t,f}}\meta{\alternative{t,f}}
+%
+%       The four letters designate the top right, bottom right, bottom
+%       left and top left corner. In this order. \texttt{t} makes the
+%       according corner round. If you use round corners, the rule width is
+%       controlled via |\thinlines| and |\thicklines|.
+%
+%       Note: The size of the quarter circles depends on \keyname{framesep}
+%       and is independent of the extra margins of a frame. The size is
+%       possibly adjusted to fit \LaTeX's circle sizes.
+%
+% \item[0.19,3pt] \rkeyname{framesep}|=|\meta{dimension}
+% \item[0.19,2pt] \rkeyname{rulesep}|=|\meta{dimension}
+%
+%		control the space between frame and listing and between double rules.
+%
+% \item[0.19,0.4pt] \rkeyname{framerule}|=|\meta{dimension}
+%
+%		controls the width of the rules.
+%
+% \item[1.0,0pt] \rkeyname{framexleftmargin}|=|\meta{dimension}
+% \item[1.0,0pt] \rkeyname{framexrightmargin}|=|\meta{dimension}
+% \item[1.0,0pt] \rkeyname{framextopmargin}|=|\meta{dimension}
+% \item[1.0,0pt] \rkeyname{framexbottommargin}|=|\meta{dimension}
+%
+%       are the dimensions which are used additionally to \keyname{framesep}
+%       to make up the margin of a frame.
+%
+% \item[0.21] \rkeyname{backgroundcolor}|=|\meta{color command}
+% \item[0.21] \rkeyname{rulecolor}|=|\meta{color command}
+% \item[1.0] \rkeyname{fillcolor}|=|\meta{color command}
+% \item[1.0] \rkeyname{rulesepcolor}|=|\meta{color command}
+%
+%       specify the colour of the background, the rules, the space between
+%       `text box' and first rule, and of the space between two rules,
+%       respectively.
+%       Note that the value requires a |\color| command, for example
+%       \keyname{rulecolor}|=\color{blue}|.
+% \end{syntax}
+% \ikeyname{frame} does not work with |fancyvrb=true| or when the package
+% internally makes a |\hbox| around the listing! And there are certainly more
+% problems with other commands; please take the time to make a (bug) report.
+%\ifcolor
+% \begin{lstxsample}
+%    \lstset{framexleftmargin=5mm, frame=shadowbox, rulesepcolor=\color{blue}}
+% \end{lstxsample}
+%\else
+%    \lstset{framexleftmargin=5mm, frame=shadowbox}
+%\fi
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}[numbers=left]
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+%
+% Note here the use of |framexleftmargin| to include the line numbers inside
+% the frame.
+%
+% Do you want exotic frames? Try the following key if you want, for example,
+% \begin{lstsample}{\lstset{frameshape={RYRYNYYYY}{yny}{yny}{RYRYNYYYY}}}{}
+%    \begin{lstlisting}
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% \begin{syntax}
+% \item[0.20,,\dag] \rkeyname{frameshape}|=|\marg{top shape}\marg{left shape}\marg{right shape}\marg{bottom shape}
+%
+%       gives you full control over the drawn frame parts.
+%       The arguments are not case sensitive.
+%
+%       Both \meta{left shape} and \meta{right shape} are `left-to-right'
+%       \alternative{y,n} character sequences (or empty). Each |y| lets the
+%       package draw a rule, otherwise the rule is blank. These vertical rules
+%       are drawn `left-to-right' according to the specified shapes.
+%       The example above uses |yny|.
+%
+%       \meta{top shape} and \meta{bottom shape} are `left-rule-right'
+%       sequences (or empty). The first `left-rule-right' sequence is attached
+%       to the most inner rule, the second to the next, and so on.
+%       Each sequence has three characters: `rule' is either |y| or |n|;
+%       `left' and `right' are |y|, |n| or |r| (which makes a corner round).
+%       The example uses |RYRYNYYYY| for both shapes:
+%       |RYR| describes the most inner (top and bottom) frame shape, |YNY|
+%       the middle, and |YYY| the most outer.
+% \end{syntax}
+% To summarize, the example above used
+% \begin{verbatim}
+%    \lstset{frameshape={RYRYNYYYY}{yny}{yny}{RYRYNYYYY}}\end{verbatim}
+% Note that you are not resticted to two or three levels.
+% However you'll get in trouble if you use round corners when they are too big.
+%
+%
+% \subsection{Indexing}
+%
+% \begin{syntax}
+% \item[0.19] \rkeyname{index}|=|\oarg{number}\oarg{keyword classes}\marg{identifiers}
+% \item[0.21] \rkeyname{moreindex}|=|\oarg{number}\oarg{keyword classes}\marg{identifiers}
+% \item[0.21] \rkeyname{deleteindex}|=|\oarg{number}\oarg{keyword classes}\marg{identifiers}
+%
+%       define, add and remove \meta{identifiers} and \meta{keyword classes}
+%       from the index class list \meta{number}. If you don't specify the
+%       optional number, the package assumes \meta{number} $=1$.
+%
+%		Each appearance of the explicitly given identifiers and each appearance
+%       of the identifiers of the specified \meta{keyword classes} is indexed.
+%       For example, you could write |index=[1][keywords]| to index all
+%       keywords. Note that |[1]| is required here---otherwise we couldn't use
+%       the second optional argument.
+%
+% \item[0.19,\lstindexmacro] \rkeyname{indexstyle}|=|\oarg{number}\meta{tokens \textup(one-parameter command\textup)}
+%
+%       \meta{tokens} actually indexes the identifiers for the list
+%       \meta{number}. In contrast to the style keys, \meta{tokens}
+%       \emph{must} read exactly one parameter, namely the identifier.
+%       Default definition is\icmdname{\lstindexmacro}\vspace*{-\itemsep}
+% \begin{verbatim}
+%    \newcommand\lstindexmacro[1]{\index{{\ttfamily#1}}}\end{verbatim}
+%       \vspace*{-\itemsep}which you shouldn't modify.
+%       Define your own indexing commands and use them as argument to this key.
+% \end{syntax}
+% Section \ref{uIndexing} describes this feature in detail.
+%
+%
+% \subsection{Column alignment}\label{rColumnAlignment}
+%
+% \begin{syntax}
+% \item[1.0,{[c]fixed}] \rkeyname{columns}|=|\oarg{\alternative{c,l,r}}\meta{alignment}
+%
+%       selects the column alignment.  The \meta{alignment} can be |fixed|,
+%       |flexible|, |spaceflexible|, or |fullflexible|; see section
+%       \ref{uFixedAndFlexibleColumns} for details.
+%
+%       The optional |c|, |l|, or |r| controls the horizontal orientation of
+%       smallest output units (keywords, identifiers, etc.). The arguments work
+%       as follows, where vertical bars visualize the effect:
+%           $\vert$\lstinline[columns={[c]fixed}]!listing!$\vert$,
+%           $\vert$\lstinline[columns={[l]fixed}]!listing!$\vert$, and
+%           $\vert$\lstinline[columns={[r]fixed}]!listing!$\vert$
+%       in fixed column mode,
+%           $\vert$\lstinline[columns={[c]flexible}]!listing!$\vert$,
+%           $\vert$\lstinline[columns={[l]flexible}]!listing!$\vert$, and
+%           $\vert$\lstinline[columns={[r]flexible}]!listing!$\vert$
+%       with flexible columns, and
+%           $\vert$\lstinline[columns={[c]fullflexible}]!listing!$\vert$,
+%           $\vert$\lstinline[columns={[l]fullflexible}]!listing!$\vert$, and
+%           $\vert$\lstinline[columns={[r]fullflexible}]!listing!$\vert$
+%       with space-flexible or full flexible columns (which ignore the
+%       optional argument, since they do not add extra space around
+%       printable characters).
+%
+% \item[0.18,false] \rkeyname{flexiblecolumns}|=|\meta{\alternative{true,false}}\syntaxor\rkeyname{flexiblecolumns}
+%
+%       selects the most recently selected flexible or fixed column format,
+%       refer to section \ref{uFixedAndFlexibleColumns}.
+%
+% \item[0.21,false,\dag] \rkeyname{keepspaces}|=|\meta{\alternative{true,false}}
+%
+%       |keepspaces=true| tells the package not to drop spaces to fix column
+%       alignment and always converts tabulators to spaces.
+%
+% \item[0.16] \rkeyname{basewidth}|=|\meta{dimension}\syntaxor
+% \item[0.18,{{0.6em,0.45em}}] \rkeyname{basewidth}|={|\meta{fixed}|,|\meta{flexible mode}|}|
+%
+%       sets the width of a single character box for fixed and flexible column
+%       mode (both to the same value or individually).
+%
+% \item[0.20,false] \rkeyname{fontadjust}|=|\meta{\alternative{true,false}}\syntaxor\rkeyname{fontadjust}
+%
+%       If true the package adjusts the base width every font selection.
+%       This makes sense only if \ikeyname{basewidth} is given in font specific
+%       units like `em' or `ex'---otherwise this boolean has no effect.
+%
+%       After loading the package, it doesn't adjust the width every font
+%       selection: it looks at \ikeyname{basewidth} each listing and uses the
+%       value for the whole listing. This is possibly inadequate if the style
+%       keys in section \ref{rFigureOutTheAppearance} make heavy font size
+%       changes, see the example below.
+%
+%       Note that this key might disturb the column alignment and might have an
+%       effect on the keywords' appearance!
+% \end{syntax}
+% \begin{lstsample}{\lstset{basicstyle=\normalsize}}{}
+%    \lstset{commentstyle=\scriptsize}
+%    \begin{lstlisting}
+%    { scriptsize font
+%      doesn't look good }
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+% \begin{lstsample}{\lstset{basicstyle=\normalsize,commentstyle=\scriptsize}}{}
+%    \begin{lstlisting}[fontadjust]
+%    { scriptsize font
+%      looks better now }
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{lstlisting}
+% \end{lstsample}
+%
+%
+% \subsection{Escaping to \LaTeX}\label{rEscapingToLaTeX}
+%
+% \textbf{Note:} {\itshape Any escape to \LaTeX\ may disturb the column
+% alignment since the package can't control the spacing there.}
+% \begin{syntax}
+% \item[0.18,false] \rkeyname{texcl}|=|\meta{\alternative{true,false}}\syntaxor\rkeyname{texcl}
+%
+%       activates or deactivates \LaTeX\ comment lines. If activated, comment
+%       line delimiters are printed as usual, but the comment line text (up to
+%       the end of line) is read as \LaTeX\ code and typeset in comment style.
+% \end{syntax}
+% The example uses \Cpp\ comment lines (but doesn't say how to define them).
+% Without |\upshape| we would get \textit{calculate} since the comment style
+% is |\itshape|.
+% \begin{lstsample}{\lstset{morecomment=[l]//}}{}
+%    \begin{lstlisting}[texcl]
+%    // \upshape calculate $a_{ij}$
+%      A[i][j] = A[j][j]/A[i][j];
+%    \end{lstlisting}
+% \end{lstsample}
+%
+% \begin{syntax}
+% \item[0.19,false] \rkeyname{mathescape}|=|\meta{\alternative{true,false}}
+%
+%       activates or deactivates special behaviour of the dollar sign.
+%       If activated a dollar sign acts as \TeX's text math shift.
+%
+%       This key is useful if you want to typeset formulas in listings.
+%
+% \item[0.19,{{}}] \rkeyname{escapechar}|=|\meta{character}\syntaxor\rkeyname{escapechar}|={}|
+%
+%       If not empty the given character escapes the user to \LaTeX: all code
+%       between two such characters is interpreted as \LaTeX\ code. Note that
+%       \TeX's special characters must be entered with a preceding backslash,
+%       e.g.~|escapechar=\%|.
+%
+% \item[0.20,{{}}] \rkeyname{escapeinside}|=|\meta{character}\meta{character}\syntaxor\rkeyname{escapeinside}|={}|
+%
+%       Is a generalization of \ikeyname{escapechar}. If the value is not
+%       empty, the package escapes to \LaTeX\ between the first and second
+%       character.
+%
+% \item[0.20,{{}}] \rkeyname{escapebegin}|=|\meta{tokens}
+% \item[0.20,{{}}] \rkeyname{escapeend}|=|\meta{tokens}
+%
+%       The tokens are executed at the beginning respectively at the end of
+%       each escape, in particular for \ikeyname{texcl}.
+%       See section \ref{uNationalCharacters} for an application.
+% \end{syntax}
+%
+% \begin{lstsample}{\lstset{morecomment=[l]//}}{}
+%    \begin{lstlisting}[mathescape]
+%    // calculate $a_{ij}$
+%      $a_{ij} = a_{jj}/a_{ij}$;
+%    \end{lstlisting}
+% \end{lstsample}
+%
+% \begin{lstsample}{\lstset{morecomment=[l]//}}{}
+%    \begin{lstlisting}[escapechar=\%]
+%    // calc%ulate $a_{ij}$%
+%      %$a_{ij} = a_{jj}/a_{ij}$%;
+%    \end{lstlisting}
+% \end{lstsample}
+%
+% \begin{lstsample}{\lstset{morecomment=[l]//}}{}
+%    \lstset{escapeinside=`'}
+%    \begin{lstlisting}
+%    // calc`ulate $a_{ij}$'
+%      `$a_{ij} = a_{jj}/a_{ij}$';
+%    \end{lstlisting}
+% \end{lstsample}
+% In the first example the comment line up to $a_{ij}$ has been typeset by the
+% \packagename{listings} package in comment style. The $a_{ij}$ itself is
+% typeset in `\TeX\ math mode' without comment style. About half of the
+% comment line of the second example has been typeset by this package, and
+% the rest is in `\LaTeX\ mode'.
+%
+% To avoid problems with the current and future version of this package:
+% \begin{enumerate}
+% \item Don't use any commands of the \packagename{listings} package when you
+%       have escaped to \LaTeX.
+% \item Any environment must start and end inside the same escape.
+% \item You might use |\def|, |\edef|, etc., but do not assume that the
+%       definitions are present later, unless they are |\global|.
+% \item |\if \else \fi|, groups, math shifts |$| and |$$|, \ldots\ must be
+%       balanced within each escape.
+% \item \ldots
+% \end{enumerate}
+% Expand that list yourself and mail me about new items.
+%
+%
+% \subsection{Interface to \textsf{fancyvrb}}
+%
+% The \packagename{fancyvrb} package---fancy verbatims---from Timothy van Zandt
+% provides macros for reading, writing and typesetting verbatim code. It has
+% some remarkable features the \packagename{listings} package doesn't have.
+% (Some are possible, but you must find somebody who will implement them |;-)|.
+% \begin{syntax}
+% \item[0.19] \rkeyname{fancyvrb}|=|\meta{\alternative{true,false}}
+%
+%       activates or deactivates the interface. If active, verbatim code is
+%       read by \packagename{fancyvrb} but typeset by \packagename{listings},
+%       i.e.~with emphasized keywords, strings, comments, and so on.
+%       Internally we use a very special definition of |\FancyVerbFormatLine|.
+%
+%       This interface works with |Verbatim|, |BVerbatim| and |LVerbatim|.
+%       But you shouldn't use \packagename{fancyvrb}'s \keyname{defineactive}.
+%       (As far as I can see it doesn't matter since it does nothing at all,
+%       but for safety \ldots .)
+%       If \packagename{fancyvrb} and \packagename{listings} provide similar
+%       functionality, you should use \packagename{fancyvrb}'s.
+%
+% \item[1.1,{\overlay 1}] \rkeyname{fvcmdparams}|=|\meta{command$_1$}\meta{number$_1$}\ldots\label{uoption:fvcmdparams}
+% \item[1.1] \rkeyname{morefvcmdparams}|=|\meta{command$_1$}\meta{number$_1$}\ldots\label{uoption:morefvcmdparams}
+%
+%       If you use \packagename{fancyvrb}'s \keyname{commandchars}, you must
+%       tell the \packagename{listings} package how many arguments each command
+%       takes. If a command takes no arguments, there is nothing to do.
+%
+%       The first (third, fifth, \ldots) parameter to the keys is the command
+%       and the second (fourth, sixth, \ldots) is the number of arguments
+%       that command takes. So, if you want to use |\textcolor{red}{keyword}|
+%       with the \packagename{fancyvrb}-\packagename{listings} interface, you
+%       should write |\lstset{morefvcmdparams=\textcolor 2}|.
+% \end{syntax}
+%
+% \iffancyvrb
+% \begin{lstsample}{}{}
+%    \lstset{morecomment=[l]\ }% :-)
+%    \fvset{commandchars=\\\{\}}
+%
+%    \begin{BVerbatim}
+%    First verbatim line.
+%    \fbox{Second} verbatim line.
+%    \end{BVerbatim}
+%
+%    \par\vspace{72.27pt}
+%
+%    \lstset{fancyvrb}
+%    \begin{BVerbatim}
+%    First verbatim line.
+%    \fbox{Second} verbatim line.
+%    \end{BVerbatim}
+%    \lstset{fancyvrb=false}
+% \end{lstsample}
+% The lines typeset by the \packagename{listings} package are wider since the
+% default \ikeyname{basewidth} doesn't equal the width of a single typewriter type
+% character. Moreover, note that the first space begins a comment as defined at
+% the beginning of the example.
+% \else
+% \begin{center}
+%    \packagename{fancyvrb} seems to be unavailable on your platform, thus the
+%    example couldn't be printed here.
+% \end{center}
+% \fi
+%
+%
+% \subsection{Environments}\label{rEnvironments}
+%
+% If you want to define your own pretty-printing environments, try the
+% following command. The syntax comes from \LaTeX's |\newenvironment|.
+% \begin{syntax}
+% \item[0.19] \rcmdname\lstnewenvironment\\
+%       \marg{name}\oarg{number}\oarg{opt.~default~arg.}\\
+%       |{|\meta{starting code}|}|\\
+%       |{|\meta{ending code}|}|
+% \end{syntax}
+% As a simple example we could just select a particular language.
+% \begin{lstxsample}
+%    \lstnewenvironment{pascal}
+%        {\lstset{language=pascal}}
+%        {}
+% \end{lstxsample}
+% \begin{lstsample}{}{}
+%    \begin{pascal}
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    \end{pascal}
+% \end{lstsample}
+% Doing other things is as easy, for example, using more keys and adding an
+% optional argument to adjust settings each listing:
+% \begin{verbatim}
+%\lstnewenvironment{pascalx}[1][]
+%    {\lstset{language=pascal,numbers=left,numberstyle=\tiny,float,#1}}
+%    {}\end{verbatim}
+%
+%
+% \subsection{Short Inline Listing Commands}\label{rShortInline}
+%
+% Short equivalents of |\lstinline| can also be defined, in a manner similar
+% to the short verbatim macros provided by \packagename{shortvrb}.
+%
+% \begin{syntax}
+% \item[1.4] \rcmdname\lstMakeShortInline[\oarg{options}]\meta{character}
+%
+%       defines \meta{character} to be an equivalent of
+%       |\lstinline|[\oarg{options}]\meta{character},
+%       allowing for a convenient syntax when using lots of inline listings.
+%
+% \item[1.4] \rcmdname\lstDeleteShortInline\meta{character}
+%
+%       removes a definition of \meta{character} created by |\lstMakeShortInline|,
+%       and returns \meta{character} to its previous meaning.
+% \end{syntax}
+%
+%
+% \subsection{Language definitions}\label{rLanguageDefinitions}
+%
+% You should first read section \ref{uLanguageDefinitions} for an introduction
+% to language definitions. Otherwise you're probably unprepared for the full
+% syntax of |\lstdefinelanguage|.
+% \begin{syntax}
+% \item[0.19] \rcmdname\lstdefinelanguage\syntaxnewline[\oarg{dialect}]\marg{language}\syntaxnewline[\oarg{base dialect}\marg{and base language}]\syntaxnewline\marg{key=value list}\syntaxnewline[\oarg{list of required aspects \textup(keywordcomments,texcs,etc.\textup)}]
+%
+%		defines the (given dialect of the) programming language \meta{language}.
+%       If the language definition is based on another definition, you must
+%       specify the whole \oarg{base dialect}\marg{and base language}. Note
+%       that an empty \meta{base dialect} uses the default dialect!
+%
+%       The last optional argument should specify all required aspects. This is
+%       a delicate point since the aspects are described in the developer's
+%       guide. You might use existing languages as templates. For example,
+%       ANSI C uses \aspectname{keywords}, \aspectname{comments},
+%       \aspectname{strings} and \aspectname{directives}.
+%
+%       \icmdname{\lst@definelanguage} has the same syntax and is used to
+%       define languages in the driver files.
+%
+% \begin{advise}
+% \item Where should I put my language definition?
+%       \advisespace
+%       If you need the language for one particular document, put it into
+%       the preamble of that document. Otherwise create the local file
+%       `\texttt{lstlang0.sty}' or add the definition to that file, but use
+%       `|\lst@definelanguage|' instead of `|\lstdefinelanguage|'.
+%       However, you might want to send the definition to the address in
+%       section \ref{uSoftwareLicense}. Then it will be included with the
+%       rest of the languages distributed with the package, and published under
+%       the \LaTeX\ Project Public License.
+% \end{advise}
+%
+% \item[0.18] \rcmdname\lstalias\marg{alias}\marg{language}
+%
+%       defines an alias for a programming language. Each \meta{alias} is
+%       redirected to the same dialect of \meta{language}.
+%       It's also possible to define an alias for one particular dialect only:
+%
+% \item[0.18] \rcmdname\lstalias\oarg{alias dialect}\marg{alias}\oarg{dialect}\marg{language}
+%
+%       Here all four parameters are \emph{nonoptional} and an alias with empty
+%       \meta{dialect} will select the default dialect. Note that aliases
+%       cannot be chained: The two aliases `|\lstalias{foo1}{foo2}|' and
+%       `|\lstalias{foo2}{foo3}|' will \emph{not} redirect |foo1| to |foo3|.
+% \end{syntax}
+% All remaining keys in this section are intended for building language
+% definitions. \emph{No other key should be used in such a definition!}
+%
+%
+% \paragraph{Keywords}
+% We begin with keyword building keys. Note: {\itshape If you want to enter
+% {\upshape|\|, |{|, |}|, |%|, |#|} or {\upshape|&|} as (part of) an argument
+% to the keywords below, you must do it with a preceding backslash!}
+% \begin{syntax}
+% \item[1.0,,{\dag bug}] \rkeyname{keywordsprefix}|=|\meta{prefix}
+%
+%       All identifiers starting with \meta{prefix} will be printed as first
+%       order keywords.
+%
+%       Bugs: Currently there are several limitations.
+%       (1) The prefix is always case sensitive.
+%       (2) Only one prefix can be defined at a time.
+%       (3) If used `standalone' outside a language definition, the key might
+%           work only after selecting a nonempty language (and switching back to
+%           the empty language if necessary).
+%       (4) The key does not respect the value of \keyname{classoffset} and
+%           has no optional class \meta{number} argument.
+%
+% \item[0.11] \rkeyname{keywords}|=|\oarg{number}\marg{list of keywords}
+% \item[0.11] \rkeyname{morekeywords}|=|\oarg{number}\marg{list of keywords}
+% \item[0.18] \rkeyname{deletekeywords}|=|\oarg{number}\marg{list of keywords}
+%
+%       define, add to or remove the keywords from keyword list \meta{number}.
+%       The use of \keyname{keywords} is discouraged since it deletes all
+%       previously defined keywords in the list and is thus incompatible with
+%       the \keyname{alsolanguage} key.
+%
+%       Please note the keys \ikeyname{alsoletter} and \ikeyname{alsodigit}
+%       below if you use unusual charaters in keywords.
+%
+% \item[0.19,,deprecated] \rkeyname{ndkeywords}|=|\marg{list of keywords}
+% \item[0.19,,deprecated] \rkeyname{morendkeywords}|=|\marg{list of keywords}
+% \item[0.19,,deprecated] \rkeyname{deletendkeywords}|=|\marg{list of keywords}
+%
+%       define, add to or remove the keywords from keyword list 2; note that
+%       this is equivalent to |keywords=[2]|\ldots etc.
+%       The use of \keyname{ndkeywords} is strongly discouraged.
+%
+% \item[0.19,,{addon,optional}] \rkeyname{texcs}|=|\oarg{class number}\marg{list of control sequences \textup(without backslashes\textup)}
+% \item[0.20,,{addon,optional}] \rkeyname{moretexcs}|=|\oarg{class number}\marg{list of control sequences \textup(without backslashes\textup)}
+% \item[0.21,,{addon,optional}] \rkeyname{deletetexcs}|=|\oarg{class number}\marg{list of control sequences \textup(without backslashes\textup)}
+%
+%       Ditto for control sequences in \TeX\ and \LaTeX.
+%
+% \item[0.18,,optional] \rkeyname{directives}|=|\marg{list of compiler directives}
+% \item[0.21,,optional] \rkeyname{moredirectives}|=|\marg{list of compiler directives}
+% \item[0.21,,optional] \rkeyname{deletedirectives}|=|\marg{list of compiler directives}
+%
+%       defines compiler directives in C, \Cpp, Objective-C, and POV.
+%
+% \item[0.14] \rkeyname{sensitive}|=|\meta{\alternative{true,false}}
+%
+%       makes the keywords, control sequences, and directives case sensitive
+%       and insensitive, respectively. This key affects the keywords, control
+%       sequences, and directives only when a listing is processed. In all
+%       other situations they are case sensitive, for example,
+%       |deletekeywords={save,Test}| removes `save' and `Test', but neither
+%       `SavE' nor `test'.
+%
+% \item[0.19] \rkeyname{alsoletter}|=|\marg{character sequence}
+% \item[0.19] \rkeyname{alsodigit}|=|\marg{character sequence}
+% \item[0.19] \rkeyname{alsoother}|=|\marg{character sequence}
+%
+%       All identifiers (keywords, directives, and such) consist of a letter
+%       followed by alpha-numeric characters (letters and digits).
+%       For example, if you write
+%           |keywords={one-two,\#include}|,
+%       the minus sign must become a digit and the sharp a letter since the
+%       keywords can't be detected otherwise.
+%
+%       Table \ref{rStdCharTable} show the standard configuration of the
+%       \packagename{listings} package. The three keys overwrite the default
+%       behaviour. Each character of the sequence becomes a letter, digit
+%       and other, respectively.
+%
+% \item[0.20] \rkeyname{otherkeywords}|=|\marg{keywords}
+%
+%       Defines keywords that contain other characters, or start with digits.
+%       Each given `keyword' is printed in keyword style, but without changing
+%       the `letter', `digit' and `other' status of the characters. This key
+%       is designed to define keywords like |=>|, |->|, |-->|, |--|, |::|, and
+%       so on. If one keyword is a subsequence of another (like |--| and
+%       |-->|), you must specify the shorter first.
+%
+% \item[0.20,,{renamed,optional}] \rkeyname{tag}|=|\meta{character}\meta{character}\syntaxor\rkeyname{tag}|={}|\label{uoption:tag}
+%
+%       The first order keywords are active only between the first and second
+%       character. This key is used for HTML.
+% \end{syntax}
+%
+% \begin{table}[tb]
+% \caption{Standard character table}\label{rStdCharTable}
+% \begin{tabular}{ll}
+% class & characters\\
+% \noalign{\smallskip}
+% letter & \texttt{A B C D E F G H I J K L M N O P Q R S T U V W X Y Z}\\
+%        & \texttt{a b c d e f g h i j k l m n o p q r s t u v w x y z}\\
+%        & \texttt{@ \textdollar\ } |_|\\
+% digit  & \texttt{0 1 2 3 4 5 6 7 8 9}\\
+% other  & \texttt{!\ " \#\ \%\ \&\ ' ( ) * + , - .\ / :\ ; < = > ?}\\
+%        & {\catcode`\|=12\texttt{[ \char92\ ] \textasciicircum\ \char123\ | \char125\ \textasciitilde}}\\
+% space  & chr(32)\\
+% tabulator & chr(9)\\
+% form feed & chr(12)\\
+% \noalign{\smallskip}
+% \end{tabular}
+% \par\noindent
+% Note: Extended characters of codes 128--255 (if defined) are \emph{currently}
+% letters.
+% \end{table}
+%
+%
+% \paragraph{Strings}
+% \begin{syntax}
+% \item[0.12] \rkeyname{string}|=|\oarg{\alternative{b,d,m,bd,s}}\marg{delimiter \textup(character\textup)}
+% \item[0.21] \rkeyname{morestring}|=|\oarg{\alternative{b,d,m,bd,s}}\marg{delimiter}
+% \item[0.21] \rkeyname{deletestring}|=|\oarg{\alternative{b,d,m,bd,s}}\marg{delimiter}
+%
+%       define, add to or delete the delimiter from the list of string
+%       delimiters. Starting and ending delimiters are the same, i.e.~in the
+%       source code the delimiters must match each other.
+%
+%       The optional argument is the type and controls the how the delimiter
+%       itself is represented in a string or character literal: it is escaped by a
+%       |b|ackslash, |d|oubled (or both is allowed via |bd|).  Alternately, the
+%       type can refer to an unusual form of delimiter: |s|tring delimiters (akin
+%       to the |s| comment type) or |m|atlab-style delimiters.  The latter is a
+%       special type for Ada and Matlab and possibly other languages where the
+%       string delimiters are also used for other purposes.  It is equivalent
+%       to |d|, except that a string does not start after a letter, a right
+%       parenthesis, a right bracket, or some other characters.
+% \end{syntax}
+%
+%
+% \paragraph{Comments}
+% \begin{syntax}
+% \item[0.13] \rkeyname{comment}|=|\oarg{type}\meta{delimiter\textup(s\textup)}
+% \item[0.21] \rkeyname{morecomment}|=|\oarg{type}\meta{delimiter\textup(s\textup)}
+% \item[0.21] \rkeyname{deletecomment}|=|\oarg{type}\meta{delimiter\textup(s\textup)}
+%
+%       Ditto for comments, but some types require more than a single
+%       delimiter. The following overview uses \keyname{morecomment} as the
+%       example, but the examples apply to \keyname{comment} and \keyname{deletecomment}
+%       as well.
+%
+% \item[0.13] \keyname{morecomment}|=[l]|\meta{delimiter}
+%
+%       The delimiter starts a comment line, which in general starts with the
+%       delimiter and ends at end of line. If the character sequence |//|
+%       should start a comment line (like in \Cpp, Comal 80 or Java),
+%       |morecomment=[l]//| is the correct declaration. For Matlab it
+%       would be |morecomment=[l]\%|---note the preceding backslash.
+%
+% \item[0.13] \keyname{morecomment}|=[s]|\marg{delimiter}\marg{delimiter}
+%
+%       Here we have two delimiters. The second ends a comment starting with
+%       the first delimiter. If you require two such comments you can use this
+%       type twice. C, Java, PL/I, Prolog and SQL all define single comments
+%       via |morecomment=[s]{/*}{*/}|, and Algol does it with
+%       |morecomment=[s]{\#}{\#}|, which means that the sharp delimits both
+%       beginning and end of a single comment.
+%
+% \item[0.13] \keyname{morecomment}|=[n]|\marg{delimiter}\marg{delimiter}
+%
+%       is similar to type |s|, but comments can be nested. Identical arguments
+%       are not allowed---think a while about it!
+%       Modula-2 and Oberon-2 use |morecomment=[n]{(*}{*)}|.
+%
+% \item[0.18] \keyname{morecomment}|=[f]|\meta{delimiter}
+% \item[0.18] \keyname{morecomment}|=[f][commentstyle]|\oarg{n=preceding columns}\meta{delimiter}
+%
+%       The delimiter starts a comment line if and only if it appears on a
+%       fixed column-number, namely if it is in column $n$ (zero based).
+%
+% \item[0.17,,optional] \rkeyname{keywordcomment}|=|\marg{keywords}
+% \item[0.21,,optional] \rkeyname{morekeywordcomment}|=|\marg{keywords}
+% \item[0.21,,optional] \rkeyname{deletekeywordcomment}|=|\marg{keywords}
+%
+%       A keyword comment begins with a keyword and ends with the same keyword.
+%       Consider |keywordcomment={comment,co}|. Then
+%       `\textbf{comment}\allowbreak\ldots\textbf{comment}' and
+%       `\textbf{co}\ldots\textbf{co}' are comments.
+%
+% \item[0.17,,optional] \rkeyname{keywordcommentsemicolon}|=|\marg{keywords}\marg{keywords}\marg{keywords}
+%
+%       The definition of a `keyword comment semicolon' requires three keyword
+%       lists, e.g.~|{end}{else,end}{comment}|. A semicolon always ends such a
+%       comment. Any keyword of the first argument begins a comment and any
+%       keyword of the second argument ends it (and a semicolon also);
+%       a comment starting with any keyword of the third argument is terminated
+%       with the next semicolon only. In the example all possible comments are
+%       `\textbf{end}\ldots\textbf{else}', `\textbf{end}\ldots\textbf{end}'
+%       (does not start a comment again) and `\textbf{comment}\ldots;' and
+%       `\textbf{end}\ldots;'.
+%       Maybe a curious definition, but Algol and Simula use such comments.
+%
+%       Note: The keywords here need not to be a subset of the defined
+%       keywords. They won't appear in keyword style if they aren't.
+%
+% \item[0.17,,optional] \rkeyname{podcomment}|=|\meta{\alternative{true,false}}
+%
+%       activates or deactivates PODs---Perl specific.
+% \end{syntax}
+%
+%
+% \subsection{Installation}\label{rInstallation}
+%
+% \paragraph{Software installation}
+% \begin{enumerate}
+% \item Following the \TeX\ directory structure (TDS), you should put the files
+%       of the \packagename{listings} package into directories as follows:
+%       \begin{center}
+%       \begin{tabular}{lcl}
+%       \texttt{listings.pdf}&$\to$&\texttt{texmf/doc/latex/listings}\\
+%       \texttt{listings.dtx}, \texttt{listings.ins},\\
+%       \texttt{listings.ind}, \texttt{lstpatch.sty},\\
+%       \texttt{lstdrvrs.dtx}&$\to$&\texttt{texmf/source/latex/listings}
+%       \end{tabular}
+%       \end{center}
+%       Note that you may not have a patch file \texttt{lstpatch.sty}.
+%       If you don't use the TDS, simply adjust the directories below.
+% \item	Create the directory \texttt{texmf/tex/latex/listings} or, if it exists
+%       already, remove all
+%       files except \texttt{lst}\meta{whatever}\texttt{0.sty} and
+%       \texttt{lstlocal.cfg} from it.
+% \item	Change the working directory to \texttt{texmf/source/latex/listings}
+%       and run \texttt{listings.ins} through \TeX.
+% \item Move the generated files to \texttt{texmf/tex/latex/listings} if this
+%       is not already done.
+%       \begin{center}
+%       \begin{tabular}{lcl}
+%       \texttt{listings.sty}, \texttt{lstmisc.sty},
+%           &&\qquad(kernel and add-ons)\\
+%       \texttt{listings.cfg},
+%           &&\qquad(configuration file)\\
+%       \texttt{lstlang}\meta{number}\texttt{.sty},
+%           &&\qquad(language drivers)\\
+%       \texttt{lstpatch.sty}&$\to$&\texttt{texmf/tex/latex/listings}
+%       \end{tabular}
+%       \end{center}
+% \item If your \TeX\ implementation uses a file name database, update it.
+% \item If you receive a patch file later on, put it where
+%       \texttt{listings.sty} is (and update the file name database).
+% \end{enumerate}
+% Note that \packagename{listings} requires at least version 1.10 of the
+% \packagename{keyval} package included in the \packagename{graphics} bundle by
+% David Carlisle.
+%
+%
+% \paragraph{Software configuration}
+% Read this only if you encounter problems with the standard configuration or
+% if you want the package to suit foreign languages, for example.
+%
+% Never modify a file from the \packagename{listings} package, in particular
+% not the configuration file. Each new installation or new version overwrites
+% it. The software license allows modification, but I can't recommend it.
+% It's better to create one or more of the files
+% \begin{center}
+% \begin{tabular}{lcl}
+% \texttt{lstmisc0.sty} & for & local add-ons
+%                               (see the developer's guide),\\
+% \texttt{lstlang0.sty} & for & local language definitions
+%                               (see \ref{rLanguageDefinitions}), and\\
+% \texttt{lstlocal.cfg} & as  & local configuration file
+% \end{tabular}
+% \end{center}
+% and put them in the same directory as the other \packagename{listings} files.
+% These three files are not touched by a new installation unless you remove them.
+% If \texttt{lstlocal.cfg} exists, it is loaded after \texttt{listings.cfg}.
+% You might want to change one of the following parameters.
+% \begin{syntax}
+% \item[,,data] \rcmdname\lstaspectfiles\quad contains~\rlap{\texttt{\lstaspectfiles}}
+% \item[,,data] \rcmdname\lstlanguagefiles\quad contains~\rlap{\texttt{\lstlanguagefiles}}
+%
+%       The package uses the specified files to find add-ons and language
+%       definitions.
+% \end{syntax}
+% Moreover, you might want to adjust
+%   \icmdname\lstlistlistingname,
+%   \icmdname\lstlistingname,
+%   \ikeyname{defaultdialect},
+%   \icmdname\lstalias, or
+%   \icmdname\lstalias
+% \ as described in earlier sections.
+%
+%
+% \section{Experimental features}\label{rExperimentalFeatures}
+%
+% This section describes the more or less unestablished parts of this package.
+% It's unlikely that they will all be removed (unless stated explicitly), but
+% they are liable to (heavy) changes and improvements. Such features have been
+% \dag-marked in the last sections. So, if you find anything \dag-marked here,
+% you should be very, very careful.
+%
+%
+% \subsection{Listings inside arguments}\label{rListingsInsideArguments}
+%
+% There are some things to consider if you want to use |\lstinline| or the
+% listing environment inside arguments. Since \TeX\ reads the argument before
+% the `\lst-macro' is executed, this package can't do anything to preserve the
+% input: spaces shrink to one space, the tabulator and the end of line are
+% converted to spaces, \TeX's comment character is not printable, and so on.
+% Hence, \emph{you} must work a bit more. You have to put a backslash in front
+% of each of the following four characters: |\{}%|. Moreover you must protect
+% spaces in the same manner if: (i) there are two or more spaces following each
+% other or (ii) the space is the first character in the line.
+% That's not enough: Each line must be terminated with a `line feed' |^^J|.
+% And you can't escape to \LaTeX\ inside such listings!
+%
+% The easiest examples are with |\lstinline| since we need no line feed.
+% \begin{verbatim}
+%\footnote{\lstinline{var i:integer;} and
+%          \lstinline!protected\ \ spaces! and
+%          \fbox{\lstinline!\\\{\}\%!}}\end{verbatim}
+% yields\lstset{language=Pascal}\footnote{\lstinline{var i:integer;} and
+%          \lstinline!protected\ \ spaces! and
+%          \fbox{\lstinline!\\\{\}\%!}}
+% if the current language is Pascal. Note that this example shows another
+% experimental feature: use of argument braces as delimiters. This is
+% described in section \ref{rTypesettingListings}.
+%
+% And now an environment example:
+% \begin{lstsample}{\lstset{language={}}}{}
+%    \fbox{%
+%    \begin{lstlisting}^^J
+%    \ !"#$\%&'()*+,-./^^J
+%    0123456789:;<=>?^^J
+%    @ABCDEFGHIJKLMNO^^J
+%    PQRSTUVWXYZ[\\]^_^^J
+%    `abcdefghijklmno^^J
+%    pqrstuvwxyz\{|\}~^^J
+%    \end{lstlisting}}
+% \end{lstsample}
+% \begin{advise}
+% \item You might wonder that this feature is still experimental. The reason:
+%       You shouldn't use listings inside arguments; it's not always safe.
+% \end{advise}
+%
+%
+% \subsection{\dag\ Export of identifiers}\label{rExportOfIdentifiers}
+%
+% It would be nice to export function or procedure names. In general that's a
+% dream so far. The problem is that programming languages use various syntaxes
+% for function and procedure declaration or definition. A general interface is
+% completely out of the scope of this package---that's the work of a compiler
+% and not of a pretty-printing tool. However, it is possible for particular
+% languages: in Pascal, for instance, each function or procedure definition and
+% variable declaration is preceded by a particular keyword.
+% Note that you must request the following keys with the \texttt{procnames} option:
+% |\usepackage[procnames]{listings}|.
+% \begin{syntax}
+% \item[0.19,{{}},{\dag optional}] \rkeyname{procnamekeys}|=|\marg{keywords}
+% \item[0.21,,\dag optional] \rkeyname{moreprocnamekeys}|=|\marg{keywords}
+% \item[0.21,,\dag optional] \rkeyname{deleteprocnamekeys}|=|\marg{keywords}
+%
+%		each specified keyword indicates a function or procedure definition.
+%		Any identifier following such a keyword appears in `procname' style.
+%		For Pascal you might use\vspace{-.5\baselineskip}
+% \begin{verbatim}
+%    procnamekeys={program,procedure,function}\end{verbatim}
+%
+% \item[0.19,keywordstyle,\dag optional] \rkeyname{procnamestyle}|=|\meta{style}
+%
+%		defines the style in which procedure and function names appear.
+%
+% \item[0.19,false,\dag optional] \rkeyname{indexprocnames}|=|\meta{\alternative{true,false}}
+%
+%		If activated, procedure and function names are also indexed.
+% \end{syntax}
+% \begin{TODO}
+% The \aspectname{procnames} aspect is unsatisfactory (and has been unchanged
+% at least since 2000). It marks and indexes the function definitions so far, but
+% it would be possible to mark also the following function calls, for example.
+% A key could control whether function names are added to a special keyword
+% class, which then appears in `procname' style. But should these names be
+% added globally? There are good reasons for both. Of course, we would also
+% need a key to reset the name list.
+% \end{TODO}
+%
+%
+% \subsection{\dag\ Hyperlink references}\label{rHyperReferences}
+%
+% This very small aspect must be requested via the \texttt{hyper} option since it
+% is experimental. One possibility for the future is to combine this aspect
+% with \aspectname{procnames}. Then it should be possible to click on a
+% function name and jump to its definition, for example.
+% \begin{syntax}
+% \item[0.21,,{\dag optional}] \rkeyname{hyperref}|=|\marg{identifiers}
+% \item[0.21,,{\dag optional}] \rkeyname{morehyperref}|=|\marg{identifiers}
+% \item[0.21,,{\dag optional}] \rkeyname{deletehyperref}|=|\marg{identifiers}
+%
+%       hyperlink the specified identifiers (via \packagename{hyperref}
+%       package). A `click' on such an identifier jumps to the previous
+%       occurrence.
+%
+% \item[0.21,\hyper@@anchor,{\dag optional}] \rkeyname{hyperanchor}|=|\meta{two-parameter macro}
+% \item[0.21,\hyperlink,{\dag optional}] \rkeyname{hyperlink}|=|\meta{two-parameter macro}
+%
+%       set a hyperlink anchor and link, respectively.
+%       The defaults are suited for the \packagename{hyperref} package.
+% \end{syntax}
+%
+%
+% \subsection{Literate programming}
+%
+% We begin with an example and hide the crucial key=value list.
+% \begin{lstsample}{\lstset{literate={:=}{{$\gets$}}1 {<=}{{$\leq$}}1 {>=}{{$\geq$}}1 {<>}{{$\neq$}}1}}{}
+%    \begin{lstlisting}
+%    var i:integer;
+%
+%    if (i<=0) i := 1;
+%    if (i>=0) i := 0;
+%    if (i<>0) i := 0;
+%    \end{lstlisting}
+% \end{lstsample}
+% Funny, isn't it? We could leave |i := 0| in our listings instead of
+% i| |$\gets$| |0, but that's not literate!  ^^A :-)
+% Now you might want to know how this has been done. Have a \emph{close}
+% look at the following key.
+% \begin{syntax}
+% \item[0.20,,\dag] \rkeyname{literate}|=|[|*|]\meta{replacement item}\ldots\meta{replacement item}
+%
+%       First note that there are no commas between the items. Each item
+%       consists of three arguments:
+%           \marg{replace}\marg{replacement text}\marg{length}.
+%       \meta{replace} is the original character sequence.
+%       Instead of printing these characters, we use \meta{replacement text},
+%       which takes the width of \meta{length} characters in the output.
+%
+%       Each `printing unit' in \meta{replacement text} \emph{must} be in braces
+%       unless it's a single character. For example, you must put braces
+%       around |$\leq$|.
+%       If you want to replace |<-1->| by |$\leftarrow1\rightarrow$|, the
+%       replacement item would be |{<-1->}{{$\leftarrow$}1{$\rightarrow$}}3|.
+%       Note the braces around the arrows.
+%
+%       If one \meta{replace} is a subsequence of another \meta{replace}, you
+%       must define the shorter sequence first. For example, |{-}| must be defined
+%       before |{--}| and this before |{-->}|.
+%
+%       The optional star indicates that literate replacements should not be
+%       made in strings, comments, and other delimited text.
+% \end{syntax}
+% In the example above, I've used
+% \begin{verbatim}
+%  literate={:=}{{$\gets$}}1 {<=}{{$\leq$}}1 {>=}{{$\geq$}}1 {<>}{{$\neq$}}1\end{verbatim}
+% \begin{TODO}
+% Of course, it's good to have keys for adding and removing single
+% \meta{replacement item}s. Maybe the key(s) should work in the same fashion
+% as the string and comment definitions, i.e.~one item per key=value.
+% This way it would be easier to provide better auto-detection in case of a
+% subsequence.
+% \end{TODO}
+%
+%
+% \subsection{\textsf{LGrind} definitions}\label{rLGrindDefinitions}
+%
+% Yes, it's a nasty idea to steal language definitions from other programs.
+% Nevertheless, it's possible for the \packagename{LGrind} definition
+% file---at least partially. Please note that this file must be found by
+% \TeX.
+% \begin{syntax}
+% \item[0.21,,{optional}] \rkeyname{lgrindef}|=|\meta{language}
+%
+%       scans the \texttt{lgrindef} language definition file for
+%       \meta{language} and activates it if present. Note that not all
+%       \packagename{LGrind} capabilities have a \packagename{listings}
+%       analogue.
+%
+%       Note that `Linda' language doesn't work properly since it defines
+%       compiler directives with preceding `|#|' as keywords.
+%
+% \item[0.21,lgrindef.,{data,optional}] \rcmdname\lstlgrindeffile
+%
+%       contains the (path and) name of the definition file.
+% \end{syntax}
+%
+%
+% \subsection{\dag\ Automatic formatting}
+%
+% \lstloadaspects{formats}^^A
+% The automatic source code formatting is far away from being good. First of
+% all, there are no general rules on how source code should be formatted. So
+% `format definitions' must be flexible. This flexibility requires a complex
+% interface, a powerful `format definition' parser, and lots of code lines
+% behind the scenes. Currently, format definitions aren't flexible enough
+% (possibly not the definitions but the results). A single `format item' has
+% the form 
+% \begin{itemize}\item[]
+%     \meta{input chars}|=|\oarg{exceptional chars}\meta{pre}\oarg{\texttt{\string\string}}\meta{post}
+% \end{itemize}
+% Whenever \meta{input chars} aren't followed by one of the \meta{exceptional
+% chars}, formatting is done according to the rest of the value. If |\string|
+% isn't specified, the input characters aren't printed (except it's an
+% identifier or keyword). Otherwise \meta{pre} is `executed' before printing
+% the original character string and \meta{post} afterwards. These two are
+% `subsets' of
+% \begin{itemize}
+% \item |\newline| ---ensuring a new line;
+% \item |\space| ---ensuring a whitespace;
+% \item |\indent| ---increasing indention;
+% \item |\noindent| ---descreasing indention.
+% \end{itemize}
+% Now we can give an example.\lstaspectindex{\lstdefineformat}{}\lstaspectindex{format}{}
+% \begin{lstxsample}
+%    \lstdefineformat{C}{%
+%        \{=\newline\string\newline\indent,%
+%        \}=\newline\noindent\string\newline,%
+%        ;=[\ ]\string\space}
+% \end{lstxsample}
+% \begin{lstsample}{\lstset{language={}}}{}
+%    \begin{lstlisting}[format=C]
+%    for (int i=0;i<10; i++){/* wait */};
+%    \end{lstlisting}
+% \end{lstsample}
+% Not good. But there is a (too?) simple work-around:
+% \begin{lstxsample}
+%    \lstdefineformat{C}{%
+%        \{=\newline\string\newline\indent,%
+%        \}=[;]\newline\noindent\string\newline,%
+%        \};=\newline\noindent\string\newline,%
+%        ;=[\ ]\string\space}
+% \end{lstxsample}
+% \begin{lstsample}{\lstset{language={}}}{}
+%    \begin{lstlisting}[format=C]
+%    for (int i=0;i<10; i++){/* wait */};
+%    \end{lstlisting}
+% \end{lstsample}
+% Sometimes the problem is just to find a suitable format definition.
+% Further formatting is complicated.
+% Here are only three examples with increasing level of difficulty.
+% \begin{enumerate}
+% \item Insert horizontal space to separate function/procedure name and
+%       following parenthesis or to separate arguments of a function,
+%       e.g.~add the space after a comma (if inside function call).
+% \item Smart breaking of long lines. Consider long `and/or' expressions.
+%       Formatting should follow the logical structure!
+% \item Context sensitive formatting rules. It can be annoying if empty
+%       or small blocks take three or more lines in the output---think of
+%       scrolling down all the time. So it would be nice if the block
+%       formatting was context sensitive.
+% \end{enumerate}
+% Note that this is a very first and clumsy attempt to provide automatic
+% formatting---clumsy since the problem isn't trivial. Any ideas are welcome.
+% Implementations also. Eventually you should know that you must request format
+% definitions at package loading, e.g.~via |\usepackage[formats]{listings}|.
+%
+% \subsection{Arbitrary linerange markers}\label{rArbitraryLinerangeMarkers}
+%
+% Instead of using \keyname{linerange} with line numbers, one can use text
+% markers. Each such marker consists of a \meta{prefix}, a \meta{text}, and a
+% \meta{suffix}. You once (or more) define prefixes and suffixes and then use
+% the marker text instead of the line numbers.
+% \begin{lstxsample}
+%    \lstset{rangeprefix=\{\ ,% curly left brace plus space
+%            rangesuffix=\ \}}% space plus curly right brace
+% \end{lstxsample}
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}%
+%          [linerange=loop\ 2-end]
+%    { loop 1 }
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    { end }
+%    { loop 2 }
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    { end }
+%    \end{lstlisting}
+% \end{lstsample}
+% Note that \TeX's special characters like the curly braces, the space, the
+% percent sign, and such must be escaped with a backslash.
+% \begin{syntax}
+% \item[1.2] \rkeyname{rangebeginprefix}|=|\meta{prefix}
+% \item[1.2] \rkeyname{rangebeginsuffix}|=|\meta{suffix}
+% \item[1.2] \rkeyname{rangeendprefix}|=|\meta{prefix}
+% \item[1.2] \rkeyname{rangeendsuffix}|=|\meta{suffix}
+%
+%       define individual prefixes and suffixes for the begin- and end-marker.
+%
+% \item[1.2] \rkeyname{rangeprefix}|=|\meta{prefix}
+% \item[1.2] \rkeyname{rangesuffix}|=|\meta{suffix}
+%
+%       define identical prefixes and suffixes for the begin- and end-marker.
+%
+% \item[1.2,true] \rkeyname{includerangemarker}|=|\meta{\alternative{true,false}}
+%
+%       shows or hides the markers in the output.
+% \end{syntax}
+% \begin{lstsample}{\lstset{rangeprefix=\{\ ,rangesuffix=\ \}}}{}
+%    \begin{lstlisting}%
+%          [linerange=loop\ 1-end,
+%           includerangemarker=false,
+%           frame=single]
+%    { loop 1 }
+%    for i:=maxint to 0 do
+%    begin
+%        { do nothing }
+%    end;
+%    { end }
+%    \end{lstlisting}
+% \end{lstsample}
+%
+%
+% \subsection{Multicolumn Listings}\label{rMulticolumnListings}
+%
+% When the \packagename{multicol} package is loaded, it can be used to typeset
+% multi-column listings.  These are specified with the |multicols| key.  For
+% example:
+% \begin{lstsample}{}{}
+%    \begin{lstlisting}[multicols=2]
+%    if (i < 0)
+%      i = 0
+%      j = 1
+%    end if
+%    if (j < 0)
+%      j = 0
+%    end if
+%    \end{lstlisting}
+% \end{lstsample}
+%
+% The multicolumn option is known to fail with some keys.
+%
+% \begin{advise}
+% \item Which keys?
+%       \advisespace
+%       Unfortunately, I don't know.  Carsten left the code for this option
+%       in the version 1.3b patch file with only that cryptic note for
+%       documentation.  Bug reports would be welcome, though I don't promise
+%       that they're fixable.  ---Brooks
+% \end{advise}
+%
+%
+%\iffalse
+% \section{Forthcoming ?}
+%
+% This section is rather rudimentary. It just lists some things I don't want
+% to forget.
+%
+% First of all, I'd like to support even more languages, for example Maple,
+% PostScript, and so on. Fortunately my lifetime is limited, so other
+% people may do that work. Please (e-)mail me your language definitions.
+%
+% Then, there are several ideas for the future. Some have already been stated
+% as `to do's; some came from other people and are stated below; some more are
+% far from being implemented,
+%   e.g.~\keyname{linerange}|=|\oarg{inter}\marg{line range list}
+% which prints all lines in the range and executes \meta{inter} when omitting
+% some code lines. The main problem here are frames and background colours;
+% what should happen to them? In fact, the problem is how this can be coded.
+% Another idea is to change the background colour (or the basic style) for
+% particular code blocks. This, too, is not easy.
+%
+%^^A Auto-detect whether surplus space (from spaces and tabs) isn't needed to fix
+%^^A alignment of wide character combinations like |==| or |<>|.
+%^^A
+%^^A Make package compatible to calc package.
+%^^A
+%^^A Rewrite \lst@LAS, \lst@DefDriver, \lst@Require to distinguish loading
+%^^A of languages (which don't need base languages at once) and aspects
+%^^A (which need required aspects to be loaded).
+%
+% \lsthelper{Vincent~Poirriez}{1999/11/18}{code examples inside caml comments}:
+% Inside caml comments, |[| and |]| should print the code in
+% between in basicstyle (or another newly introduced style). Nesting of these
+% `code example delimiters' is allowed, e.g.~|(* [[x;y]] *)|.
+%
+% \lsthelper{Claus~Atzenbeck}{1999/12/03}{`extendedchars=false' doesn't issue
+% warning when extended characters are used}: issue warning in final mode if
+% \ikeyname{extendedchars}|=false| but extended chars are used.
+%
+% \lsthelper{Andreas~Matthias}{2000/01/04}{define header/footer to print
+% the listing name}: Make the header/footer print the listing name. Some
+% people asked for continued captions.
+%\fi
+%
+%
+% \part{Tips and tricks}
+%
+% Note: This part of the documentation is under construction.
+% Section \ref{uHowTos} must be sorted by topic and ordered in some way.
+% Moreover a new section `Examples' is planned, but not written.
+% Lack of time is the main problem \ldots
+%
+%
+% \section{Troubleshooting}\label{uTroubleshooting}
+%
+% If you're faced with a problem with the \packagename{listings} package, there are
+% some steps you should undergo before you make a bug report. First you should
+% consult the reference guide to see whether the problem is already known. If not,
+% create a \emph{minimal} file which reproduces the problem. Follow these
+% instructions:
+% \begin{enumerate}
+% \item Start from the minimal file in section \ref{uAMinimalFile}.
+% \item Add the \LaTeX\ code which causes the problem, but keep it short.
+%       In particular, keep the number of additional packages small.
+% \item Remove some code from the file (and the according packages) until the
+%       problem disappears. Then you've found a crucial piece.
+% \item Add this piece of code again and start over with step 3 until all code
+%       and all packages are substantial.
+% \item You now have a minimal file. Send a bug report to the address on the
+%       first page of this documentation and include the minimal file together
+%       with the created \texttt{.log}-file. If you use a very special package
+%       (i.e.~one not on CTAN), also include the package if its software license
+%       allows it.
+% \end{enumerate}
+%
+%
+% \section{How tos}\label{uHowTos}
+%
+%
+% \subsubsection*{How to reference line numbers}
+% Perhaps you want to put |\label{|\meta{whatever}|}| into a \LaTeX\ escape which is
+% inside a comment whose delimiters aren't printed?  If you did that, the compiler
+% won't see the \LaTeX\ code since it would be inside a comment, and the
+% \packagename{listings} package wouldn't print anything since the delimiters would
+% be dropped and |\label| doesn't produce any printable output, but you could still
+% reference the line number. Well, your wish is granted.
+%
+% In Pascal, for example, you could make the package recognize the `special'
+% comment delimiters |(*@| and |@*)| as begin-escape and end-escape sequences.
+% Then you can use this special comment for |\label|s and other things.
+% \begin{lstsample}{\lstset{numberstyle=\tiny,stepnumber=2,numbersep=5pt}}{}
+%    \lstset{escapeinside={(*@}{@*)}}
+%
+%    \begin{lstlisting}
+%    for i:=maxint to 0 do
+%    begin
+%        { comment }(*@\label{comment}@*)
+%    end;
+%    \end{lstlisting}
+%    Line \ref{comment} shows a comment.
+% \end{lstsample}
+% \begin{advise}
+% \item Can I use `|(*@|' and `|*)|' instead?
+%       \advisespace
+%       Yes.
+% \item Can I use `|(*|' and `|*)|' instead?
+%       \advisespace
+%       Sure. If you want this.
+% \item Can I use `|{@|' and `|@}|' instead?
+%       \advisespace
+%       No, never! The second delimiter is not allowed. The character `|@|' is
+%       defined to check whether the escape is over. But reading the lonely
+%       `end-argument' brace, \TeX\ encounters the error `\texttt{Argument of @
+%       has an extra \char125}'. Sorry.
+% \item Can I use `|{|' and `|}|' instead?
+%       \advisespace
+%       No. Again the second delimiter is not allowed. Here now \TeX\ would
+%       give you a `\texttt{Runaway argument}' error. Since `|}|' is defined to
+%       check whether the escape is over, it won't work as `end-argument' brace.
+% \item And how can I use a comment line?
+%       \advisespace
+%       For example, write `|escapeinside={//*}{\^^M}|'. Here |\^^M| represents
+%       the end of line character.
+% \end{advise}
+%
+%
+% \subsubsection*{How to gobble characters}
+% To make your \LaTeX\ code more readable, you might want to indent your
+% \texttt{lstlisting} listings. This indention should not show up in the
+% pretty-printed listings, however, so it must be removed. If you indent each code
+% line by three characters, you can remove them via |gobble=3|:
+% \begin{lstsample}{}{\lstset{showspaces}}
+%    \begin{lstlisting}[gobble=3]
+%    1  for i:=maxint to 0 do
+%     2 begin
+%      3    { do nothing }
+%    123end;
+%
+%       Write('Case insensitive ');
+%       WritE('Pascal keywords.');
+%    \end{lstlisting}
+% \end{lstsample}
+% Note that empty lines and the beginning and the end of the environment
+% need not respect the indention. However, never indent the end by more than
+% `\ikeyname{gobble}' characters. Moreover note that tabulators expand to
+% |tabsize| spaces before we gobble.
+% \begin{advise}
+% \item Could I use `\ikeyname{gobble}' together with `|\lstinputlisting|'?
+%       \advisespace
+%       Yes, but it has no effect.
+%
+% \item Note that `\ikeyname{gobble}' can also be set via `|\lstset|'.
+% \end{advise}
+%
+%
+% \subsubsection*{How to include graphics}
+% \lsthelper{Herbert~Weinhandl}{1999/09/06}{listings + eps} found a very easy
+% way to include graphics in listings. Thanks for contributing this idea---an
+% idea I would never have had.
+%
+% Some programming languages allow the dollar sign to be part of an identifier.
+% But except for intermediate function names or library functions, this
+% character is most often unused. The \packagename{listings} package defines
+% the \ikeyname{mathescape} key, which lets `|$|' escape to \TeX's math mode.
+% This makes the dollar character an excellent candidate for our purpose here:
+% use a package which can include a graphic, set \ikeyname{mathescape} true,
+% and include the graphic between two dollar signs, which are inside a comment.
+%
+% The following example is originally from a header file I got from Herbert.
+% For the presentation here I use the \texttt{lstlisting} environment and an
+% excerpt from the header file. The |\includegraphics| command is from
+% David Carlisle's \packagename{graphics} bundle.
+% \begin{verbatim}
+%   \begin{lstlisting}[mathescape=true]
+%   /*
+%    $ \includegraphics[height=1cm]{defs-p1.eps} $
+%    */
+%   typedef struct {
+%     Atom_T          *V_ptr;   /* pointer to Vacancy in grid    */
+%     Atom_T          *x_ptr;   /* pointer to (A|B) Atom in grid */
+%   } ABV_Pair_T;
+%   \end{lstlisting}\end{verbatim}
+% The result looks pretty good. Unfortunately you can't see it, because the
+% graphic wasn't available when the manual was typeset.
+%
+%
+% \subsubsection*{How to get closed frames on each page}
+% The package supports closed frames only for listings which don't cross pages.
+% If a listing is split on two pages, there is neither a bottom rule at the
+% bottom of a page, nor a top rule on the following page. If you insist on
+% these rules, you might want to use \texttt{framed.sty} by Donald Arseneau.
+% Then you could write
+% \begin{verbatim}
+%    \begin{framed}
+%    \begin{lstlisting}
+%      or \lstinputlisting{...}
+%    \end{lstlisting}
+%    \end{framed}\end{verbatim}
+% The package also provides a \texttt{shaded} environment. If you use it, you
+% shouldn't forget to define \texttt{shadecolor} with the \packagename{color}
+% package.
+%
+%
+% \subsubsection*{How to print national characters with $\Lambda$ and \packagename{listings}}\label{uNationalCharacters}
+%
+% Apart from typing in national characters directly, you can use the `escape'
+% feature described in section \ref{rEscapingToLaTeX}. 
+% The keys \ikeyname{escapechar}, \ikeyname{escapeinside}, and \ikeyname{texcl}
+% allow partial usage of \LaTeX\ code.
+%
+% Now, if you use $\Lambda$ (Lambda, the \LaTeX\ variant for Omega) and want,
+% for example, Arabic comment lines, you need not write |\begin{arab}|
+% \ldots\ |\end{arab}| each escaped comment line. This can be automated:
+% \begin{verbatim}
+%    \lstset{escapebegin=\begin{arab},escapeend=\end{arab}}
+%
+%    \begin{lstlisting}[texcl]
+%    // Replace text by Arabic comment.
+%    for (int i=0; i<1; i++) { };
+%    \end{lstlisting}\end{verbatim}
+% If your programming language doesn't have comment lines, you'll have to use
+% \ikeyname{escapechar} or \ikeyname{escapeinside}:
+% \begin{verbatim}
+%    \lstset{escapebegin=\begin{greek},escapeend=\end{greek}}
+%
+%    \begin{lstlisting}[escapeinside=`']
+%    /* `Replace text by Greek comment.' */
+%    for (int i=0; i<1; i++) { };
+%    \end{lstlisting}\end{verbatim}
+% Note that the delimiters |`| and |'| are essential here. The example doesn't
+% work without them. There is a more clever way if the comment delimiters of
+% the programming language are single characters, like the braces in Pascal:
+% \begin{verbatim}
+%    \lstset{escapebegin=\textbraceleft\begin{arab},
+%            escapeend=\end{arab}\textbraceright}
+%
+%    \begin{lstlisting}[escapeinside=\{\}]
+%    for i:=maxint to 0 do
+%    begin
+%        { Replace text by Arabic comment. }
+%    end;
+%    \end{lstlisting}\end{verbatim}
+% Please note that the `interface' to $\Lambda$ is completely untested.
+% Reports are welcome!
+%
+%
+% \subsubsection*{How to get bold typewriter type keywords}
+% Use the \href{http://www.ctan.org/tex-archive/fonts/luximono}{\packagename{LuxiMono}} package.
+% 
+% \iffalse
+% Many people asked for bold typewriter fonts since they aren't included in
+% the \LaTeX\ standard distribution. Here now one answer on how to use them
+% in spite of that.
+% \begin{advise}
+% \item Please note that I personally don't regard the following as a good
+%       solution. Such a bold typewriter type is too heavy. It would be better
+%       to use a light version of \texttt{cmtt} as basic font and \texttt{cmtt}
+%       or a \emph{slightly} heavier type for keywords.
+%
+% \item Why don't you tell us how to use the better solution?
+%       \advisespace
+%       A light version of \texttt{cmtt} doesn't exist. If it's once available,
+%       you can do a similar job as described below.
+% \end{advise}
+% First of all, you'll need Metafont source files for bold typewriter, e.g.~
+% \texttt{cmbtt8.mf}, \texttt{cmbtt9.mf} and \texttt{cmbtt10.mf} from
+% \href{ftp://ftp.dante.de/tex-archive/fonts/cm/mf-extra/bold}
+%      {CTAN/fonts/cm/mf-extra/bold}.
+% Secondly you have to create \texttt{.tfm}-files, i.e.~run the Metafont
+% program on these sources. This is possibly done automatically when you use
+% the fonts in a document. Finally you must tell \LaTeX\ that you've installed
+% bold typewriter fonts. Just use
+% \begin{verbatim}
+%    \DeclareFontShape{OT1}{cmtt}{bx}{n}
+%         {<5><6><7><8>cmbtt8%
+%          <9>cmbtt9%
+%          <10><10.95>cmbtt10%
+%          <12><14.4><17.28><20.74><24.88>cmbtt10%
+%          }{}\end{verbatim}
+% in the preamble of your document. If you use these fonts often, you might
+% want to make a local copy of \texttt{ot1cmtt.fd} and replace the declaration
+% there. But note that you're not allowed to distributed the modified file
+% under its original name!
+% \fi
+%
+%
+% \subsubsection*{How to work with plain text}
+% If you want to use \packagename{listings} to set plain text (perhaps with
+% line numbers, or like |verbatim| but with line wrapping, or so forth, use
+% the empty language: |\lstset{language=}|.
+%
+%
+% \subsubsection*{How to get the developer's guide}
+% In the \emph{source directory} of the listings package, i.e.~where
+% the \texttt{.dtx} files are, create the file \texttt{ltxdoc.cfg} with the
+% following contents.
+% \begin{verbatim}
+%    \AtBeginDocument{\AlsoImplementation}\end{verbatim}
+% Then run \texttt{listings.dtx} through \LaTeX\ twice, run Makeindex (with
+% the |-s gind.ist| option), and then run \LaTeX\ one last time on
+% \texttt{listings.dtx}. This creates the whole documentation including User's
+% guide, Reference guide, Developer's guide, and Implementation.
+%
+%
+% \makeatletter
+%^^A \def\index@prologue{\section*{Index}\markboth{Index}{Index}}
+% \def\index@prologue{\part{Index}\markboth{Index}{Index}}
+% \makeatother
+%^^A \StopEventually{\lstcheckreference\setcounter{IndexColumns}{2}\PrintIndex}
+% \StopEventually{\setcounter{IndexColumns}{2}\PrintIndex}
+%
+%
+% \part{Developer's guide}
+%
+% First I must apologize for this developer's guide since some parts are not
+% explained as well as possible. But note that you are in a pretty good shape:
+% this developer's guide exists! ^^A :-)
+% You might want to peek into section \ref{dPackageExtensions} before reading
+% section \ref{dBasicConcepts}.
+%
+%
+% \section{Basic concepts}\label{dBasicConcepts}
+%
+% The functionality of the \packagename{listings} package appears to be
+% divided into two parts: on the one hand commands which actually typeset
+% listings and on the other via |\lstset| adjustable parameters. Both could
+% be implemented in terms of \lst-aspects, which are simply collections of
+% public keys and commands and internal hooks and definitions. The package
+% defines a couple of aspects, in particular the kernel, the main engine.
+% Other aspects drive this engine, and language and style definitions tell
+% the aspects how to drive. The relations between car, driver and assistant
+% driver are exactly reproduced---and I'll be your driving instructor.
+%
+%
+% \subsection{Package loading}\label{dPackageLoading}
+%
+% Each option in |\usepackage[|\meta{options}|]{listings}| loads an aspect or
+% \emph{prevents} the package from loading it if the aspect name is
+% \emph{preceded by an exclamation mark}. This mechanism was designed to clear
+% up the dependencies of different package parts and to debug the package. For
+% this reason there is another option:
+% \begin{syntax}
+% \item[0.21,,option] \texttt{noaspects}\leavevmode
+%
+%       deletes the list of aspects to load. Note that, for example, the
+%       option lists |0.21,!labels,noaspects| and |noaspects| are essentially
+%       the same: the kernel is loaded and no other aspect.
+% \end{syntax}
+% This is especially useful for aspect-testing since we can load exactly the
+% required parts. Note, however, that an aspect is loaded later if a predefined
+% programming language requests it. One can load aspects also by hand:
+% \begin{syntax}
+% \item[0.20] |\lstloadaspects|\marg{comma separated list of aspect names}
+%
+%       loads the specified aspects if they are not already loaded.
+% \end{syntax}
+% Here now is a list of all aspects and related keys and commands---in the hope
+% that this list is complete.
+% \begin{description}
+% \hyphenpenalty=10000\relax \rightskip=0pt plus \linewidth\relax
+% \item[\aspectname{strings}]\leavevmode
+%
+%       \lstprintaspectkeysandcmds{strings}
+%
+% \item[\aspectname{comments}]\leavevmode
+%
+%       \lstprintaspectkeysandcmds{comments}
+%
+% \item[\aspectname{pod}]\leavevmode
+%
+%       \lstprintaspectkeysandcmds{pod}
+%
+% \item[\aspectname{escape}]\leavevmode
+%
+%       \lstprintaspectkeysandcmds{escape}
+%
+% \item[\aspectname{writefile}] requires 1 |\toks|, 1 |\write|
+%
+%       |\lst@BeginWriteFile|, |\lst@BeginAlsoWriteFile|, |\lst@EndWriteFile|
+%
+% \item[\aspectname{style}]\leavevmode
+%
+%       empty style, \lstprintaspectkeysandcmds{style}
+%
+% \item[\aspectname{language}]\leavevmode
+%
+%       empty language, \lstprintaspectkeysandcmds{language}
+%
+% \item[\aspectname{keywords}]\leavevmode
+%
+%       \lstprintaspectkeysandcmds{keywords}
+%
+% \item[\aspectname{emph}] requires \aspectname{keywords}
+%
+%       \lstprintaspectkeysandcmds{emph}
+%
+% \item[\aspectname{html}] requires \aspectname{keywords}
+%
+%       \lstprintaspectkeysandcmds{html}
+%
+% \item[\aspectname{tex}] requires \aspectname{keywords}
+%
+%       \lstprintaspectkeysandcmds{tex}
+%
+% \item[\aspectname{directives}] requires \aspectname{keywords}
+%
+%       \lstprintaspectkeysandcmds{directives}
+%
+% \item[\aspectname{index}] requires \aspectname{keywords}
+%
+%       \lstprintaspectkeysandcmds{index}
+%
+% \item[\aspectname{procnames}] requires \aspectname{keywords}
+%
+%       \lstprintaspectkeysandcmds{procnames}
+%
+% \item[\aspectname{keywordcomments}]
+%       requires \aspectname{keywords}, \aspectname{comments}
+%
+%       \lstprintaspectkeysandcmds{keywordcomments}
+%
+% \item[\aspectname{labels}] requires 2 |\count|
+%
+%       \lstprintaspectkeysandcmds{labels}
+%
+% \item[\aspectname{lineshape}] requires 2 |\dimen|
+%
+%       \lstprintaspectkeysandcmds{lineshape}
+%
+% \item[\aspectname{frames}] requires \aspectname{lineshape}
+%
+%       \lstprintaspectkeysandcmds{frames}
+%
+% \item[\aspectname{make}] requires \aspectname{keywords}
+%
+%       \lstprintaspectkeysandcmds{make}
+%
+% \item[\aspectname{doc}] requires \aspectname{writefile} and 1 |\box|
+%
+%       \lstprintaspectkeysandcmds{doc}
+%
+% \item[\aspectname{0.21}] defines old keys in terms of the new ones.
+% \item[\aspectname{fancyvrb}] requires 1 |\box|
+%
+%       \lstprintaspectkeysandcmds{fancyvrb}
+%
+% \item[\aspectname{lgrind}]\leavevmode
+%
+%       \lstprintaspectkeysandcmds{lgrind}
+%
+% \item[\aspectname{hyper}] requires \aspectname{keywords}
+%
+%       \lstprintaspectkeysandcmds{hyper}
+% \end{description}
+% The kernel allocates 6 |\count|, 4 |\dimen| and 1 |\toks|.
+% Moreover it defines the following keys, commands, and environments:
+% \begin{itemize}\item[]
+% \hyphenpenalty=10000\relax \rightskip=0pt plus \linewidth\relax
+%       \lstprintaspectkeysandcmds{kernel}, \keyname{fancyvrb}
+% \end{itemize}
+%
+%
+% \subsection{How to define \lst-aspects}\label{dHowToDefineLstAspects}
+%
+% There are at least three ways to add new functionality: (a) you write an
+% aspect of general interest, send it to me, and I'll just paste it into the
+% implementation; (b) you write a `local' aspect not of general interest; or
+% (c) you have an idea for an aspect and make me writing it. (a) and (b) are
+% good choices.^^A :-)
+%
+% An aspect definition starts with |\lst@BeginAspect| plus arguments and ends
+% with the next |\lst@EndAspect|. In particular, aspect definitions can't be
+% nested.
+% \begin{syntax}
+% \item[0.20] |\lst@BeginAspect|[\oarg{list of required aspects}]\marg{aspect name}
+% \item[0.20] |\lst@EndAspect|
+% \end{syntax}
+% The optional list is a comma separated list of required aspect names.
+% The complete aspect is not defined in each of the following cases:
+% \begin{enumerate}
+% \item \meta{aspect name} is empty.
+% \item The aspect is already defined.
+% \item A required aspect is neither defined nor loadable via
+%       |\lstloadaspects|.
+% \end{enumerate}
+% Consequently you can't define a part of an aspect and later on another part.
+% But it is possible to define aspect $A_1$ and later aspect $A_2$ which
+% requires $A_1$.
+% \begin{advise}
+% \item Put local add-ons into `\texttt{lstmisc0.sty}'---this file is searched
+%       first by default. If you want to make add-ons for one particular
+%       document just replace the surrounding `|\lst@BeginAspect|' and
+%       `|\lst@EndAspect|' by `|\makeatletter|' and `|\makeatother|' and use
+%       the definitions in the preamble of your document. However, you have to
+%       load required aspects on your own.
+% \end{advise}
+% You can put any \TeX\ material in between the two commands, but note that
+% definitions must be |\global| if you need them later---\LaTeX's |\newcommand|
+% makes local definitions and can't be preceded by |\global|. So use the
+% following commands, |\gdef|, and commands described in later sections.
+% \begin{syntax}
+% \item[0.20] |\lst@UserCommand|\meta{macro}\meta{parameter text}\marg{replacement text}
+%
+%       The macro is (mainly) equivalent to |\gdef|. The purpose is to
+%       distinguish user commands and internal global definitions.
+%
+% \item[0.19] |\lst@Key|\marg{key name}\marg{init value}[\oarg{default value}]\marg{definition}
+% \item[0.19] |\lst@Key|\marg{key name}|\relax|[\oarg{default value}]\marg{definition}
+%
+%       defines a key using the \packagename{keyval} package from David
+%       Carlisle. \meta{definition} is the replacement text of a macro with
+%       one parameter. The argument is either the value from `key=value' or
+%       \meta{default value} if no `=value' is given. The helper macros
+%       |\lstKV@...| below might simplify \meta{definition}.
+%
+%       The key is not initialized if the second argument is |\relax|.
+%       Otherwise \meta{init value} is the initial value given to the key.
+%       Note that we locally switch to |\globalsdefs=1| to ensure that
+%       initialization is not effected by grouping.
+%
+% \item[0.19] |\lst@AddToHook|\marg{name of hook}\marg{\TeX\ material}
+%
+%       adds \TeX\ material at predefined points. Section \ref{dHooks} lists
+%       all hooks and where they are defined respectively executed.
+%       |\lst@AddToHook{A}{\csa}| before |\lst@AddToHook{A}{\csb}|
+%       \emph{does not} guarantee that |\csa| is executed before |\csb|.
+%
+% \item[0.20] |\lst@AddToHookExe|\marg{name of hook}\marg{\TeX\ material}
+%
+%       also executes \meta{\TeX\ material} for initialization. You might use
+%       local variables---local in the sense of \TeX\ and/or usual programming
+%       languages---but when the code is executed for initialization all
+%       assignments are global: we set |\globaldefs| locally to one.
+%
+% \item[0.20] |\lst@UseHook|\marg{name of hook}
+%
+%       executes the hook.
+% \end{syntax}
+% \begin{advise}
+% \item Let's look at two examples. The first extends the package by adding
+%       some hook-material. If you want status messages, you might write
+% \begin{verbatim}
+%    \lst@AddToHook{Init}{\message{\MessageBreak Processing listing ...}}
+%    \lst@AddToHook{DeInit}{\message{complete.\MessageBreak}}\end{verbatim}
+%       The second example introduces two keys to let the user control the
+%       messages. The macro |\lst@AddTo| is described in section
+%       \ref{dGeneralPurposeMacros}.
+% \begin{verbatim}
+%   \lst@BeginAspect{message}
+%   \lst@Key{message}{Annoying message.}{\gdef\lst@message{#1}}
+%   \lst@Key{moremessage}\relax{\lst@AddTo\lst@message{\MessageBreak#1}}
+%   \lst@AddToHook{Init}{\typeout{\MessageBreak\lst@message}}
+%   \lst@EndAspect\end{verbatim}
+%       However, there are certainly aspects which are more useful.
+% \end{advise}
+% The following macros can be used in the \meta{definition} argument of the
+% |\lst@Key| command to evaluate the argument. The additional prefix |KV|
+% refers to the \packagename{keyval} package.
+% \begin{syntax}
+% \item[0.19] |\lstKV@SetIf|\marg{value}\meta{if macro}
+%
+%       \meta{if macro} becomes |\iftrue| if the first character of
+%       \meta{value} equals |t| or |T|. Otherwise it becomes |\iffalse|.
+%       Usually you will use |#1| as \meta{value}.
+%
+% \item[1.0] \cs{lstKV@SwitchCases}\marg{value}\\
+%   |{|\meta{string 1}|&|\meta{execute 1}|\\|\\
+%   | |\meta{string 2}|&|\meta{execute 2}|\\|\\
+%   \hbox to 3em{\hfill\vdots}\\
+%   | |\meta{string $n$}|&|\meta{execute $n$}|}|\marg{else}
+%
+%       Either execute \meta{else} or the \meta{value} matching part.
+%
+% \item[0.20] |\lstKV@TwoArg|\marg{value}\marg{subdefinition}
+% \item[0.20] |\lstKV@ThreeArg|\marg{value}\marg{subdefinition}
+% \item[0.20] |\lstKV@FourArg|\marg{value}\marg{subdefinition}
+%
+%       \meta{subdefinition} is the replacement text of a macro with two,
+%       three, and four parameters. We call this macro with the arguments given
+%       by \meta{value}. Empty arguments are added if necessary.
+%
+% \item[0.19] |\lstKV@OptArg|\oarg{default arg.}\marg{value}\marg{subdefinition}
+%
+%       |[|\meta{default arg.}|]| is \emph{not} optional. \meta{subdefinition}
+%       is the replacement text of a macro with parameter text |[##1]##2|.
+%       Note that the macro parameter character |#| is doubled since used
+%       within another macro. \meta{subdefinition} accesses these arguments
+%       via |##1| and |##2|.
+%
+%       \meta{value} is usually the argument |#1| passed by the
+%       \packagename{keyval} package. If \meta{value} has no optional argument,
+%       \meta{default arg.} is inserted to provide the arguments to
+%       \meta{subdefinition}.
+%
+% \item[0.21] |\lstKV@XOptArg|\oarg{default arg.}\marg{value}\meta{submacro}
+%
+%       Same as |\lstKV@OptArg| but the third argument \meta{submacro} is
+%       already a definition and not replacement text.
+%
+% \item[0.20] |\lstKV@CSTwoArg|\marg{value}\marg{subdefinition}
+%
+%       \meta{value} is a \texttt comma \texttt separated list of one or two
+%       arguments. These are given to the subdefinition which is the
+%       replacement text of a macro with two parameters. An empty second
+%       argument is added if necessary.
+% \end{syntax}
+% \begin{advise}
+% \item One more example. The key `\keyname{sensitive}' belongs to the aspect
+%       \aspectname{keywords}. Therefore it is defined in between
+%       `|\lst@BeginAspect{keywords}|' and `|\lst@EndAspect|', which is not shown
+%       here.
+% \begin{verbatim}
+%   \lst@Key{sensitive}\relax[t]{\lstKV@SetIf{#1}\lst@ifsensitive}
+%   \lst@AddToHookExe{SetLanguage}{\let\lst@ifsensitive\iftrue}\end{verbatim}
+%       The last line is equivalent to
+% \begin{verbatim}
+%   \lst@AddToHook{SetLanguage}{\let\lst@ifsensitive\iftrue}
+%   \global\let\lst@ifsensitive\iftrue\end{verbatim}
+%       We initialize the variable globally since the user might request an
+%       aspect in a group. Afterwards the variable is used locally---there is
+%       no |\global| in \meta{\TeX\ material}. Note that we could define and
+%       init the key as follows:
+% \begin{verbatim}
+%   \lst@Key{sensitive}t[t]{\lstKV@SetIf{#1}\lst@ifsensitive}
+%   \lst@AddToHook{SetLanguage}{\let\lst@ifsensitive\iftrue}\end{verbatim}
+%\end{advise}
+%
+%
+% \subsection{Internal modes}\label{dInternalModes}
+%
+% You probably know \TeX's conditional commands |\ifhmode|, |\ifvmode|,
+% |\ifmmode|, and |\ifinner|. They tell you whether \TeX\ is in (restricted)
+% horizontal or (internal) vertical or in (nondisplay) mathematical mode. For
+% example, true |\ifhmode| and true |\ifinner| indicate restricted horizontal
+% mode, which means that you are in a |\hbox|. The typical user doesn't care
+% about such modes; \TeX/\LaTeX\ manages all this. But since you're reading the
+% developer's guide, we discuss the analogue for the \packagename{listings}
+% package now. It uses modes to distinguish comments from strings, `comment
+% lines' from `single comments', and so on.
+%
+% The package is in `no mode' before reading the source code. In the phase of
+% initialization it goes to `processing mode'. Afterwards the mode depends on
+% the actual source code. For example, consider the line
+% \begin{verbatim}
+%    "string" // comment\end{verbatim}
+% and assume \texttt{language=C++}. Reading the string delimiter, the package
+% enters `string mode' and processes the string. The matching closing delimiter
+% leaves the mode, i.e.\ switches back to the general `processing mode'. Coming
+% to the two slashes, the package detects a comment line; it therefore enters
+% `comment line mode' and outputs the slashes. Usually this mode lasts to the
+% end of line.
+%
+% But with \texttt{textcl=true} the \aspectname{escape} aspect immediately
+% leaves `comment line mode', interrupts the current mode sequence, and enters
+% `\TeX\ comment line mode'. At the end of line we reenter the previous mode
+% sequence `no mode' $\to$ 'processing mode'. This escape to \LaTeX\ works
+% since `no mode' implies that \TeX's characters and catcodes are present,
+% whereas `processing mode' means that \packagename{listings}' characters and
+% catcodes are active.
+%
+% \begin{table}[htbp]
+% \caption{Internal modes}\label{dDefinedInternalModes}
+% \def\lsttabspace{\hspace*{1em}\hfill}
+% \begin{tabular}{@{}lp{0.56\linewidth}@{}}
+% aspect\lsttabspace\meta{mode name} & Usage/We are processing \ldots\\
+% \noalign{\smallskip}
+% kernel\lsttabspace |\lst@nomode| &
+%       If this mode is active, \TeX's `character table' is present; the other
+%       implication is not true. Any other mode \emph{may} imply that catcodes
+%       and\nobreak/\allowbreak or definitions of characters are changed.
+% \\
+%       \lsttabspace |\lst@Pmode| &
+%       is a general processing mode. If active we are processing a listing,
+%       but haven't entered a more special mode.
+% \\
+%       \lsttabspace |\lst@GPmode| &
+%       general purpose mode for language definitions.
+% \\
+% \aspectname{pod}\lsttabspace |\lst@PODmode| &
+%       \ldots~a POD---Perl specific.
+% \\
+% \aspectname{escape}\lsttabspace |\lst@TeXLmode| &
+%       \ldots~a comment line, but \TeX's character table is present---except
+%       the EOL character, which is needed to terminate this mode.
+% \\
+%       \lsttabspace |\lst@TeXmode| &
+%       indicates that \TeX's character table is present (except one user
+%       specified character, which is needed to terminate this mode).
+% \\
+% \aspectname{directives}\lsttabspace |\lst@CDmode| &
+%       indicates that the current line began with a compiler directive.
+% \\
+% \aspectname{keywordcomments}\lsttabspace |\lst@KCmode| &
+%       \ldots~a keyword comment.
+% \\
+%       \lsttabspace |\lst@KCSmode| &
+%       \ldots~a keyword comment which can be terminated by a semicolon only.
+% \\
+% \aspectname{html}\lsttabspace |\lst@insidemode| &
+%       Active if we are between \texttt{<} and \texttt{>}.
+% \\
+% \aspectname{make}\lsttabspace |\lst@makemode| &
+%       Used to indicate a keyword.
+% \end{tabular}
+% \end{table}
+% Table \ref{dDefinedInternalModes} lists all static modes and which aspects
+% they belong to. Most features use dynamically created mode numbers, for
+% example all strings and comments. Each aspect may define its own mode(s)
+% simply by allocating it/\allowbreak them inside the aspect definition.
+% \begin{syntax}
+% \item[0.19] |\lst@NewMode|\meta{mode \textup(control sequence\textup)}
+%
+%       defines a new static mode, which is a nonnegative integer assigned to
+%       \meta{mode}. \meta{mode} should have the prefix \texttt{lst@} and
+%       suffix \texttt{mode}.
+%
+% \item[0.21] |\lst@UseDynamicMode|\marg{token\textup(s\textup)}
+%
+%       inserts a dynamic mode number as argument to the token(s).
+%
+%       This macro cannot be used to get a mode number when an aspect is
+%       loaded or defined. It can only be used every listing in the process
+%       of initialization, e.g.~to define comments when the character table
+%       is selected.
+%
+% \item[0.19,,changed] |\lst@EnterMode|\meta{mode}\marg{start tokens}
+%
+%       opens a group level, enters the mode, and executes \meta{start tokens}.
+%
+%       Use |\lst@modetrue| in \meta{start tokens} to prohibit future mode
+%       changes---except leaving the mode, of course. You must test yourself
+%       whether you're allowed to enter, see below.
+%
+% \item[0.19] |\lst@LeaveMode|
+%
+%       returns to the previous mode by closing a group level if and only if
+%       the current mode isn't |\lst@nomode| already. You must test yourself
+%       whether you're allowed to leave a mode, see below.
+%
+%\iffalse
+% \item[0.19] |\lst@LeaveAllModes|
+%
+%       returns to |\lst@nomode|.
+%       This is some kind of emergency macro, so don't use it!
+%\fi
+%
+% \item[0.19] |\lst@InterruptModes|
+% \item[0.19] |\lst@ReenterModes|
+%
+%       The first command returns to |\lst@nomode|, but saves the current mode
+%       sequence on a special stack. Afterwards the second macro returns to the
+%       previous mode. In between these commands you may enter any mode you
+%       want. In particular you can interrupt modes, enter some modes, and say
+%       `interrupt modes' again. Then two re-enters will take you back in front
+%       of the first `interrupt modes'.
+%
+%       Remember that |\lst@nomode| implies that \TeX's character table is
+%       active.
+% \end{syntax}
+% Some variables show the internal state of processing. You are allowed to read
+% them, but \emph{direct write access is prohibited}. Note: |\lst@ifmode| is
+% \emph{not} obsolete since there is no relation between the boolean and the
+% current mode. It will happen that we enter a mode without setting
+% |\lst@ifmode| true, and we'll set it true without assigning any mode!
+% \begin{syntax}
+% \item[0.18,,counter] |\lst@mode|
+%
+%       keeps the current mode number. Use |\ifnum\lst@mode=|\meta{mode name}
+%       to test against a mode. Don't modify the counter directly!
+%
+% \item[0.18,,boolean] |\lst@ifmode|
+%
+%       No mode change is allowed if this boolean is true---except leaving the
+%       current mode. Use |\lst@modetrue| to modify this variable, but do it
+%       only in \meta{start tokens}.
+%
+% \item[1.0,,boolean] |\lst@ifLmode|
+%
+%       Indicates whether the current mode ends at end of line.
+% \end{syntax}
+%
+%
+% \subsection{Hooks}\label{dHooks}
+%
+% Several problems arise if you want to define an aspect.
+% You should and/or must
+%   (a) find additional functionality (of general interest) and implement it,
+%   (b) create the user interface, and
+%   (c) interface with the \packagename{listings} package, i.e.~find correct
+%       hooks and insert appropriate \TeX\ material.
+% (a) is out of the scope of this developer's guide. The commands |\lstKV@...|
+% in section \ref{dHowToDefineLstAspects} might help you with (b). Here now we
+% describe all hooks of the \packagename{listings} package.
+%
+% All hooks are executed inside an overall group. This group starts somewhere
+% near the beginning and ends somewhere at the end of each listing. Don't make
+% any other assumptions on grouping. So define variables globally if it's
+% necessary---and be alert of side effects if you don't use your own groups.
+% \begin{syntax}
+% \item \hookname{AfterBeginComment}
+%
+%       is executed after the package has entered comment mode.
+%       The starting delimiter is usually typeset when the hook is called.
+%
+% \item \hookname{BoxUnsafe}
+%
+%       Contains all material to deactivate all commands and registers which
+%       are possibly unsafe inside |\hbox|. It is used whenever the package
+%       makes a box around a listing and for \packagename{fancyvrb} support.
+%
+% \item \hookname{DeInit}
+%
+%       Called at the very end of a listing but before closing the box from
+%       \hookname{BoxUnsafe} or ending a float.
+%
+% \item \hookname{DetectKeywords}
+%
+%       This \hookname{Output} subhook is executed if and only if mode changes
+%       are allowed, i.e.~if and only if the package doesn't process a comment,
+%       string, and so on---see section \ref{dInternalModes}.
+%
+% \item \hookname{DisplayStyle}
+%
+%       deactivates/activates features for displaystyle listings.
+%
+% \item \hookname{EmptyStyle}
+%
+%       Executed to select the `empty' style---except the user has redefined
+%       the style.
+%
+% \item \hookname{EndGroup}
+%
+%       Executed whenever the package closes a group, e.g.~at end of comment or
+%       string.
+%
+% \item \hookname{EOL}
+%
+%       Called at each end of \emph{input} line, right before
+%       \hookname{InitVarsEOL}.
+%
+% \item \hookname{EveryLine}
+%
+%       Executed at the beginning of each \emph{output} line, i.e.~more than
+%       once for broken lines. This hook must not change the horizontal or
+%       vertical position.
+%
+% \item \hookname{EveryPar}
+%
+%       Executed once for each input line when the output starts. This hook
+%       must not change the horizontal or vertical position.
+%
+%^^A \item \hookname{ExcludeDelims}
+%^^A
+%^^A       Executed by the \keyname{excludedelims} key before the excluded
+%^^A       delimiters are determined.
+%^^A
+% \item \hookname{ExitVars}
+%
+%       Executed right before \hookname{DeInit}.
+%
+% \item \hookname{FontAdjust}
+%
+%       adjusts font specific internal values (currently |\lst@width| only).
+%
+% \item \hookname{Init}
+%
+%       Executed once each listing to initialize things before the character
+%       table is changed. It is called after \hookname{PreInit} and before
+%       \hookname{InitVars}.
+%
+% \item \hookname{InitVars}
+%
+%       Called to init variables each listing.
+%
+% \item \hookname{InitVarsBOL}
+%
+%       initializes variables at the beginning of each input line.
+%
+% \item \hookname{InitVarsEOL}
+%
+%       updates variables at the end of each input line.
+%
+% \item \hookname{ModeTrue}
+%
+%       executed by the package when mode changes become illegal.
+%       Here keyword detection is switched off for comments and strings.
+%
+% \item \hookname{OnEmptyLine}
+%
+%       executed \emph{before} the package outputs an empty line.
+%
+% \item \hookname{OnNewLine}
+%
+%       executed \emph{before} the package starts one or more new lines,
+%       i.e.~before saying |\par\noindent\hbox{}| (roughly speaking).
+%
+% \item \hookname{Output}
+%
+%       Called before an identifier is printed.
+%       If you want a special printing style, modify |\lst@thestyle|.
+%
+% \item \hookname{OutputBox}
+%
+%       used inside each output box. Currently it is only used to make the
+%       package work together with Lambda---hopefully.
+%
+% \item \hookname{OutputOther}
+%
+%       Called before other character strings are printed.
+%       If you want a special printing style, modify |\lst@thestyle|.
+%
+% \item \hookname{PostOutput}
+%
+%       Called after printing an identifier or any other output unit.
+%
+% \item \hookname{PostTrackKeywords}
+%
+%       is a very special \hookname{Init} subhook to insert keyword tests and
+%       define keywords on demand.
+%       This hook is called after \hookname{TrackKeywords}.
+%
+% \item \hookname{PreInit}
+%
+%       Called right before \hookname{Init} hook.
+%
+% \item \hookname{PreSet}
+%
+%       Each typesetting command/environment calls this hook to initialize
+%       internals before any user supplied key is set.
+%
+% \item \hookname{SelectCharTable}
+%
+%       is executed after the package has selected the standard character
+%       table. Aspects adjust the character table here and define string and
+%       comment delimiters, and such.
+%
+% \item \hookname{SetFormat}
+%
+%       Called before internal assignments for setting a format are made.
+%       This hook determines which parameters are reset every format selection.
+%
+% \item \hookname{SetStyle}
+%
+%       Called before internal assignments for setting a style are made.
+%       This hook determines which parameters are reset every style selection.
+%
+% \item \hookname{SetLanguage}
+%
+%       Called before internal assignments for setting a language are made.
+%       This hook determines which parameters are reset every language
+%       selection.
+%
+% \item \hookname{TextStyle}
+%
+%       deactivates/activates features for textstyle listings.
+%
+% \item \hookname{TrackKeywords}
+%
+%       is a very special \hookname{Init} subhook to insert keyword tests and
+%       define keywords on demand.
+%       This hook is called before \hookname{PostTrackKeywords}.
+% \end{syntax}
+%
+%
+% \subsection{Character tables}\label{dCharacterTables}
+%
+% Now you know how a car looks like, and you can get a driving license if you
+% take some practice. But you will have difficulties if you want to make heavy
+% alterations to the car. So let's take a closer look and come to the most
+% difficult part: the engine. We'll have a look at the big picture and fill in
+% the details step by step. For our purpose it's good to override \TeX's
+% character table. First we define a standard character table which contains
+% \begin{itemize}
+% \item letters: characters identifiers are out of,
+% \item digits: characters for identifiers or numerical constants,
+% \item spaces: characters treated as blank spaces,
+% \item tabulators: characters treated as tabulators,
+% \item form feeds: characters treated as form feed characters, and
+% \item others: all other characters.
+% \end{itemize}
+% This character table is altered depending on the current programming language.
+% We may define string and comment delimiters or other special characters.
+% Table \ref{rStdCharTable} on page \pageref{rStdCharTable} shows the standard
+% character table. It can be modified with the keys \keyname{alsoletter},
+% \keyname{alsodigit}, and \keyname{alsoother}.
+%
+% How do these `classes' work together? Let's say that the current character
+% string is `|tr|'. Then letter `|y|' simply appends the letter and we get
+% `|try|'. The next nonletter (and nondigit) causes the output of the
+% characters. Then we collect all coming nonletters until reaching a letter
+% again. This causes the output of the nonletters, and so on. Internally each
+% character becomes active in the sense of \TeX\ and is defined to do the right
+% thing, e.g.~we say
+% \begin{verbatim}
+%    \def A{\lst@ProcessLetter A}\end{verbatim}
+% where the first `|A|' is active and the second has letter catcode 11.
+% The macro |\lst@ProcessLetter| gets one token and treats it as a letter.
+% The following macros exist, where the last three get no explicit argument.
+% \begin{syntax}
+% \item[0.18] |\lst@ProcessLetter| \meta{spec.\ token}
+% \item[0.18] |\lst@ProcessDigit| \meta{spec.\ token}
+% \item[0.18] |\lst@ProcessOther| \meta{spec.\ token}
+% \item[0.18] |\lst@ProcessTabulator|
+% \item[0.18] |\lst@ProcessSpace|
+% \item[0.20] |\lst@ProcessFormFeed|
+% \end{syntax}
+% \meta{spec.\ token} is supposed to do two things. Usually it expands to
+% a printable version of the character. But if |\lst@UM| is equivalent to
+% |\@empty|, \meta{spec.\ token} must expand to a \emph{character token}.
+% For example, the sharp usually expands to |\#|, which is defined via
+% |\chardef| and is not a character token. But if |\lst@UM| is equivalent to
+% |\@empty|, the sharp expands to the character `|#|' (catcode 12). Note:
+% \emph{Changes to} |\lst@UM| \emph{must be locally.}  However, there should
+% be no need to do such basic things yourself. The \packagename{listings}
+% package provides advanced macros which use that feature,
+% e.g.~|\lst@InstallKeywords| in section \ref{dKeywordsAndWorkingIdentifiers}.
+%
+% \begin{syntax}
+% \item[0.18] |\lst@Def|\marg{character code}\meta{parameter text}\marg{definition}
+% \item[0.18] |\lst@Let|\marg{character code}\meta{token}
+%
+%       defines the specified character respectively assigns \meta{token}.
+%       The catcode table if not affected. Be careful if your definition has
+%       parameters: it is not safe to read more than one character ahead.
+%       Moreover, the argument can be \emph{arbitrary}; somtimes it's the next
+%       source code character, sometimes it's some code of the
+%       \packagename{listings} package, e.g.~|\relax|, |\@empty|, |\else|,
+%       |\fi|, and so on. Therefore don't use \TeX's ord-operator |`| on such
+%       an argument, e.g.~don't write |\ifnum`#1=65| to test against `|A|'.
+%
+%       |\lst@Def| and |\lst@Let| are relatively slow. The real definition of
+%       the standard character table differs from the following example, but it
+%       could begin with
+% \begin{verbatim}
+%    \lst@Def{9}{\lst@ProcessTabulator}
+%    \lst@Def{32}{\lst@ProcessSpace}
+%    \lst@Def{48}{\lst@ProcessDigit 0}
+%    \lst@Def{65}{\lst@ProcessLetter A}\end{verbatim}
+%
+%\iffalse
+% \item[0.20] |\lst@activecharstrue|
+% \item[0.20] |\lst@activecharsfalse|
+%
+%       control whether selecting the character table also makes all characters
+%       active (standard/extended). This is usually true and therefore default.
+%       Only the \packagename{fancyvrb} interface sets it locally false.
+%\fi
+% \end{syntax}
+% That's enough for the moment. Section \ref{dUsefulInternalDefinitions}
+% presents advanced definitions to manipulate the character table, in
+% particular how to add new comment or string types.
+%
+%
+% \subsection{On the output}
+%
+% The \packagename{listings} package uses some variables to keep the output
+% data. Write access is not recommended. Let's start with the easy ones.
+% \begin{syntax}
+% \item[0.17,,data] |\lst@lastother|
+%
+%       equals \meta{spec.\ token} version of the last processed
+%       nonidentifier-character. Since programming languages redefine the
+%       standard character table, we use the original \meta{spec.\ token}.
+%       For example, if a double quote was processed last, |\lst@lastother|
+%       is not equivalent to the macro which enters and leaves string mode.
+%       It's equivalent to |\lstum@"|, where |"| belongs to the control
+%       sequence. Remember that \meta{spec.\ token} expands either to a
+%       printable or to a token character.
+%
+%       |\lst@lastother| is equivalent to |\@empty| if such a character is not
+%       available, e.g.~at the beginning of a line. Sometimes an indentifier
+%       has already been printed after processing the last `other' character,
+%       i.e.~the character is far, far away. In this case |\lst@lastother|
+%       equals |\relax|.
+%
+% \item[0.17] |\lst@outputspace|
+%
+%       Use this predefined \meta{spec.\ token} (obviously for character code
+%       32) to test against |\lst@lastother|.
+%
+% \item[0.20] |\lstum@backslash|
+%
+%       Use this predefined \meta{spec.\ token} (for character code 92) to test
+%       against |\lst@lastother|. In the replacement text for |\lst@Def| one
+%       could write |\ifx| |\lst@lastother| |\lstum@backslash| \ldots\ to test
+%       whether the last character has been a backslash.
+%
+% \item[0.20] |\lst@SaveOutputDef|\marg{character code}\meta{macro}
+%
+%       Stores the \meta{spec.\ token} corresponding to \meta{character code}
+%       in \meta{macro}. This is the only safe way to get a correct meaning to
+%       test against |\lst@lastother|, for example
+%           |\lst@SaveOutputDef{"5C}\lstum@backslash|.
+%
+%       You'll get a ``runaway argument'' error if \meta{character code} is not
+%       between 33 and 126 (inclusive).
+% \end{syntax}
+% Now let's turn to the macros dealing a bit more with the output data and
+% state.
+% \begin{syntax}
+% \item[1.0] |\lst@XPrintToken|
+%
+%       outputs the current character string and resets it. This macro keeps
+%       track of all variables described here.
+%
+% \item[0.18,,token] |\lst@token|
+%
+%       contains the current character string. Each `character' usually
+%       expands to its printable version, but it must expand to a character
+%       token if |\lst@UM| is equivalent to |\@empty|.
+%
+% \item[0.12,,counter] |\lst@length|
+%
+%       is the length of the current character string.
+%
+% \item[0.12,,dimension] |\lst@width|
+%
+%       is the width of a single character box.
+%
+% \item[0.20,,global dimension] |\lst@currlwidth|
+%
+%       is the width of so far printed line.
+%
+% \item[0.18,,global counter] |\lst@column|
+% \item[0.12,,global counter] |\lst@pos| (nonpositive)
+%
+%       |\lst@column|$-$|\lst@pos| is the length of the so far printed line.
+%       We use two counters since this simplifies tabulator handling:
+%       |\lst@pos| is a nonpositive representative of `length of so far
+%       printed line' modulo \keyname{tabsize}.
+%       It's usually not the biggest nonpositive representative.
+%
+% \item[0.20] |\lst@CalcColumn|
+%
+%       |\@tempcnta| gets |\lst@column| $-$ |\lst@pos| $+$ |\lst@length|.
+%       This is the current column number minus one, or the current column
+%       number zero based.
+%
+% \item[0.18,,global dimension] |\lst@lostspace|
+%
+%       equals `lost' space: desired current line width minus real line width.
+%       Whenever this dimension is positive the flexible column format can use
+%       this space to fix the column alignment.
+% \end{syntax}
+%
+%
+% \section{Package extensions}\label{dPackageExtensions}
+%
+%
+% \subsection{Keywords and working identifiers}\label{dKeywordsAndWorkingIdentifiers}
+%
+% The \aspectname{keywords} aspect defines two main macros. Their respective
+% syntax is shown on the left. On the right you'll find examples how the
+% package actually defines some keys.
+% \begin{syntax}
+% \item[0.21]
+%   \cs{lst@InstallFamily}
+%
+%   \marg{prefix}\syntaxfill \texttt k\\
+%   \marg{name}\syntaxfill |{keywords}|\\
+%   \marg{style name}\syntaxfill |{keywordstyle}|\\
+%   \marg{style init}\syntaxfill |\bfseries|\\
+%   \marg{default style name}\syntaxfill |{keywordstyle}|\\
+%   \marg{working procedure}\syntaxfill |{}|\\
+%   \meta{\alternative{l,o}}\syntaxfill |l|\\
+%   \meta{\alternative{d,o}}\syntaxfill |d|
+%
+%       installs either a keyword or `working' class of identifiers according
+%       to whether \meta{working procedure} is empty.
+%
+%       The three keys \meta{name}, \keyname{more}\meta{name} and
+%       \keyname{delete}\meta{name}, and if not empty \meta{style name} are
+%       defined. The first order member of the latter one is initialized with
+%       \meta{style init} if not equivalent to |\relax|. If the user leaves a
+%       class style undefined, \meta{default style name} is used instead.
+%       Thus, make sure that this style is always defined. In the example,
+%       the first order keywordstyle is set to |\bfseries| and is the default
+%       for all other classes.
+%
+%       If \meta{working procedure} is not empty, this code is executed when
+%       reaching such an (user defined) identifier. \meta{working procedure}
+%       takes exactly one argument, namely the class number to which the
+%       actual identifier belongs to. If the code uses variables and requires
+%       values from previous calls, you must define these variables
+%       |\global|ly. It's not sure whether working procedures are executed
+%       inside a (separate) group or not.
+%
+%       \texttt l indicates a language key, i.e.~the lists are reset every
+%       language selection. \texttt o stands for `other' key.
+%       The keyword respectively working test is either installed at the
+%       \hookname{DetectKeyword} or \hookname{Output} hook according to
+%       \meta{\alternative{d,o}}.
+%
+% \item[0.20]
+%   \cs{lst@InstallKeywords}
+%
+%   \marg{prefix}\syntaxfill \texttt{cs}\\
+%   \marg{name}\syntaxfill |{texcs}|\\
+%   \marg{style name}\syntaxfill |{texcsstyle}|\\
+%   \marg{style init}\syntaxfill |\relax|\\
+%   \marg{default style name}\syntaxfill |{keywordstyle}|\\
+%   \marg{working procedure}\syntaxfill see below\\
+%   \meta{\alternative{l,o}}\syntaxfill |l|\\
+%   \meta{\alternative{d,o}}\syntaxfill |d|
+%
+%       Same parameters, same functionality with one execption. The macro
+%       installs exactly one keyword class and not a whole family. Therefore
+%       the argument to \meta{working procedure} is constant (currently empty).
+%
+%       The working procedure of the example reads as follows.\vspace*{-.5\baselineskip}
+% \begin{verbatim}
+%    {\ifx\lst@lastother\lstum@backslash
+%         \let\lst@thestyle\lst@texcsstyle
+%     \fi}\end{verbatim}
+%\vspace*{-.5\baselineskip}
+%       What does this procedure do? First of all it is called only if a
+%       keyword from the user supplied list (or language definition) is found.
+%       The procedure now checks for a preceding backslash and sets the output
+%       style accordingly.
+%
+%\iffalse
+% \item[0.20] |\lst@InstallTest|\marg{prefix}\syntaxbreak
+%       |\lst@|\meta{name}|@list||\lst@|\meta{name}~|\lst@g|\meta{name}|@list||\lst@g|\meta{name}\syntaxbreak
+%       |\lst@g|\meta{name}|@sty|~\meta{\alternative{w,s}}\meta{\alternative{d,o}}
+%
+%       installs a `working identifier' test or keyword style depending on
+%       \meta{\alternative{w,s}}. |\lst@g|\meta{name}|@sty| contains the
+%       working procedure or style macro. Note that the behaviour of the tests
+%       depends on the \texttt{savemem} option.
+%       The keyword respectively working test is either installed at the
+%       \hookname{DetectKeyword} or \hookname{Output} hook according to
+%       \meta{\alternative{d,o}}.
+%
+%^^A    Either each call of this macro or each different \meta{prefix} inserts
+%^^A    another test (depending on the \texttt{savemem} option).
+%
+%       |\lst@|\meta{name} contains the current identifier list and
+%       |\lst@|\meta{name}|@list| a `|\lst@|\meta{$n_i$}|\lst@g|\meta{$n_i$}'
+%       sequence of currently used classes. If no other classes are used,
+%       this equals |\lst@|\meta{name}|\lst@g|\meta{name}. The global versions
+%       |\lst@g|\ldots\ are used to keep track of the keywords.
+%       (This description needs improvement.)
+%\fi
+% \end{syntax}
+%
+%
+% \subsection{Delimiters}
+%
+% We describe two stages: adding a new delimiter type to an existing class of
+% delimiters and writing a new class. Each class has its name; currently exist
+% \texttt{Comment}, \texttt{String}, and \texttt{Delim}. As you know, the
+% latter and the first both provide the type \texttt l, but there is no string
+% which starts with the given delimiter and ends at end of line. So we'll add
+% it now!
+%
+% First of all we extend the list of string types by
+% \begin{verbatim}
+%    \lst@AddTo\lst@stringtypes{,l}\end{verbatim}
+% Then we must provide the macro which takes the user supplied delimiter and
+% makes appropriate definitions. The command name consists of the prefix
+% |\lst@|, the delimiter name, |DM| for using dynamic modes, and |@| followed
+% by the type.
+% \begin{verbatim}
+%    \gdef\lst@StringDM@l#1#2\@empty#3#4#5{%
+%        \lst@CArg #2\relax\lst@DefDelimB{}{}{}#3{#1}{#5\lst@Lmodetrue}}\end{verbatim}
+% You can put these three lines into a \texttt{.sty}-file or surround them by
+% |\makeatletter| and |\makeatother| in the preamble of a document.
+% And that's all!
+%{\makeatletter
+%\lst@AddTo\lst@stringtypes{,l}
+%\gdef\lst@StringDM@l#1#2\@empty#3#4#5{^^A
+%   \lst@CArg #2\relax\lst@DefDelimB{}{}{}#3{#1}{#5\lst@Lmodetrue}}
+%}
+% \begin{lstsample}{}{}
+%    \lstset{string=[l]//}
+%    \begin{lstlisting}
+%    // This is a string.
+%    This isn't a string.
+%    \end{lstlisting}
+% \end{lstsample}
+% You want more details, of course. Let's begin with the arguments.
+% \begin{itemize}
+% \item The first argument \emph{after} |\@empty| is used to start the
+%       delimiter. It's provided by the delimiter class.
+% \item The second argument \emph{after} |\@empty| is used to end the
+%       delimiter. It's also provided by the delimiter class. We didn't
+%       need it in the example, see the explanation below.
+% \item The third argument \emph{after} |\@empty| is
+%       \marg{style}\meta{start tokens}.
+%       This with a preceding |\def\lst@currstyle| is used as argument to
+%       |\lst@EnterMode|. The delimiter class also provides it. In the
+%       example we `extended' |#5| by |\lst@Lmodetrue| (line mode true).
+%       The mode automatically ends at end of line, so we didn't need the
+%       end-delimiter argument.
+% \end{itemize}
+% And now for the other arguments. In case of dynamic modes, the first argument
+% is the mode number. Then follow the user supplied  delimiter(s) whose number
+% must match the remaining arguments up to |\@empty|. For non-dynamic modes,
+% you must either allocate a static mode yourself or use a predefined mode
+% number. The delimiters then start with the first argument.
+%
+% Eventually let's look at the replacement text of the macro. The sequence
+% |\lst@CArg #2\relax| puts two required arguments after |\lst@DefDelimB|.
+% The syntax of the latter macro is
+% \begin{syntax}
+% \item[1.0] \cs{lst@DefDelimB}
+%
+%   |{|\meta{1st}\meta{2nd}\marg{rest}|}|\syntaxfill |{//{}}|\\
+%   \meta{save 1st}\syntaxfill |\lst@c/0|\\
+%   \marg{execute}\syntaxfill|{}|\\
+%   \marg{delim~exe~modetrue}\syntaxfill|{}|\\
+%   \marg{delim~exe~modefalse}\syntaxfill|{}|\\
+%   \meta{start-delimiter macro}\syntaxfill|#3|\\
+%   \meta{mode number}\syntaxfill |{#1}|\\
+%   |{|\marg{style}\meta{start tokens}|}|\syntaxfill |{#5\lst@Lmodetrue}|
+%
+%       defines \meta{1st}\meta{2nd}\meta{rest} as starting-delimiter.
+%       \meta{execute} is executed when the package comes to \meta{1st}.
+%       \meta{delim~exe~modetrue} and \meta{delim~exe~modefalse} are
+%       executed only if the whole delimiter \meta{1st}\meta{2nd}\meta{rest}
+%       is found. Exactly one of them is called depending on |\lst@ifmode|.
+%
+%       By default the package enters the mode if the delimiter is found
+%       \emph{and} |\lst@ifmode| is false. Internally we make an appropriate
+%       definition of |\lst@bnext|, which can be gobbled by placing
+%       |\@gobblethree| at the very end of \meta{delim exe modefalse}.
+%       One can provide an own definition (and gobble the default).
+%
+%       \meta{save 1st} must be an undefined macro and is used internally to
+%       store the previous meaning of \meta{1st}. The arguments \meta{2nd}
+%       and/or \meta{rest} are empty if the delimiter has strictly less than
+%       three characters. All characters of \meta{1st}\meta{2nd}\meta{rest}
+%       must already be active (if not empty).
+%       That's not a problem since the macro |\lst@CArgX| does this job.
+%   
+% \item[1.0] \cs{lst@DefDelimE}
+%
+%   |{|\meta{1st}\meta{2nd}\marg{rest}|}|\\
+%   \meta{save 1st}\\
+%   \marg{execute}\\
+%   \marg{delim~exe~modetrue}\\
+%   \marg{delim~exe~modefalse}\\
+%   \meta{end-delimiter macro}\\
+%   \meta{mode number}
+%
+%       Ditto for ending-delimiter with slight differences:
+%       \meta{delim~exe~modetrue} and \meta{delim~exe~modefalse} are executed
+%       depending on whether |\lst@mode| equals \meta{mode}.
+%
+%       The package ends the mode if the delimiter is found and |\lst@mode|
+%       equals \meta{mode}. Internally we make an appropriate definition of
+%       |\lst@enext| (not |\lst@bnext|), which can be gobbled by placing
+%       |\@gobblethree| at the very end of \meta{delim exe modetrue}.
+%
+% \item[1.0] \cs{lst@DefDelimBE}
+%
+%   followed by the same eight arguments as for |\lst@DefDelimB| and \ldots\\
+%   \meta{end-delimiter macro}
+%
+%       This is a combination of |\lst@DefDelimB| and |\lst@DefDelimE| for the
+%       case of starting and ending delimiter being the same.
+% \end{syntax}
+% We finish the first stage by examining two easy examples.
+% \texttt d-type strings are defined by
+% \begin{verbatim}
+%    \gdef\lst@StringDM@d#1#2\@empty#3#4#5{%
+%        \lst@CArg #2\relax\lst@DefDelimBE{}{}{}#3{#1}{#5}#4}\end{verbatim}
+% (and an entry in the list of string types).
+% Not a big deal. Ditto \texttt d-type comments:
+% \begin{verbatim}
+%    \gdef\lst@CommentDM@s#1#2#3\@empty#4#5#6{%
+%        \lst@CArg #2\relax\lst@DefDelimB{}{}{}#4{#1}{#6}%
+%        \lst@CArg #3\relax\lst@DefDelimE{}{}{}#5{#1}}\end{verbatim}
+% Here we just need to use both |\lst@DefDelimB| and |\lst@DefDelimE|.
+% \goodbreak
+%
+% So let's get to the second stage. For illustration, here's the definition of
+% the \texttt{Delim} class. The respective first argument to the service macro
+% makes it delete all delimiters of the class, add the delimiter, or delete
+% the particular delimiter only.
+% \begin{verbatim}
+%    \lst@Key{delim}\relax{\lst@DelimKey\@empty{#1}}
+%    \lst@Key{moredelim}\relax{\lst@DelimKey\relax{#1}}
+%    \lst@Key{deletedelim}\relax{\lst@DelimKey\@nil{#1}}\end{verbatim}
+% The service macro itself calls another macro with appropriate arguments.
+% \begin{verbatim}
+%    \gdef\lst@DelimKey#1#2{%
+%        \lst@Delim{}#2\relax{Delim}\lst@delimtypes #1%
+%                    {\lst@BeginDelim\lst@EndDelim}
+%            i\@empty{\lst@BeginIDelim\lst@EndIDelim}}\end{verbatim}
+% We have to look at those arguments. Above you can see the actual arguments
+% for the \texttt{Delim} class, below are the \texttt{Comment} class ones.
+% Note that the user supplied value covers the second and third line of
+% arguments.
+% \begin{syntax}
+% \item[0.21,,changed]
+%   \cs{lst@Delim}
+%
+%   \meta{default style macro}\syntaxfill \cs{lst@commentstyle}\\ \relax
+%   [\texttt*[\texttt*]]\texttt[\meta{type}\texttt][\texttt[\meta{style}\texttt][\texttt[\meta{type option}\texttt]]]\\
+%   \meta{delimiter\textup(s\textup)}\cs{relax}\syntaxfill|#2|\cs{relax}\\
+%   \marg{delimiter name}\syntaxfill|{Comment}|\\
+%   \meta{delimiter types macro}\syntaxfill\texttt{\cs{lst@commenttypes}}\\
+%   \alternative{\cs{@empty},\cs{@nil},\cs{relax}}\syntaxfill|#1|\\
+%   \marg{begin- and end-delim macro}\syntaxfill|{|\cs{lst@BeginComment}\cs{lst@EndComment}|}|\\
+%   \meta{extra prefix}\syntaxfill |i|\\
+%   \meta{extra conversion}\syntaxfill |\@empty|\\
+%   \marg{begin- and end-delim macro}\syntaxfill|{|\cs{lst@BeginIComment}\cs{lst@EndIComment}|}|
+%
+%   Most arguments should be clear. We'll discuss the last four. Both
+%   \marg{begin- and end-delim macro} must contain exactly two control
+%   sequences, which are given to |\lst@|\meta{name}[|DM|]|@|\meta{type}
+%   to begin and end a delimiter. These are the arguments |#3| and |#4| in our
+%   first example of |\lst@StringDM@l|. Depending on whether the user chosen
+%   type starts with \meta{extra prefix}, the first two or the last control
+%   sequences are used.
+%
+%   By default the package takes the delimiter(s), makes the characters active,
+%   and places them after |\lst@|\meta{name}[|DM|]|@|\meta{type}. If the user
+%   type starts with \meta{extra prefix}, \meta{extra conversion} might change
+%   the definition of |\lst@next| to choose a different conversion. The default
+%   is equivalent to |\lst@XConvert| with |\lst@false|.
+%
+%   Note that \meta{type} never starts with \meta{extra prefix} since it is
+%   discarded. The functionality must be fully implemented by choosing a
+%   different \marg{begin- and end-delim macro} pair.
+% \end{syntax}
+% You might need to know the syntaxes of the \meta{begin- and end-delim macro}s.
+% They are called as follows.
+% \begin{syntax}
+% \item[0.21] |\lst@Begin|\meta{whatever}
+%
+%   \marg{mode}
+%   |{|\marg{style}\meta{start tokens}|}|
+%   \meta{delimiter}|\@empty|
+%
+% \item[0.21] |\lst@End|\meta{whatever}
+%
+%   \marg{mode}
+%   \meta{delimiter}|\@empty|
+% \end{syntax}
+% The existing macros are internally defined in terms of |\lst@DelimOpen| and
+% |\lst@DelimClose|, see the implementation.
+%
+%
+% \subsection{Getting the kernel run}
+%
+% If you want new pretty-printing environments, you should be happy with
+% section \ref{rEnvironments}. New commands like |\lstinline| or
+% |\lstinputlisting| are more difficult. Roughly speaking you must follow
+% these steps.
+% \begin{enumerate}
+% \item Open a group to make all changes local.
+% \item \meta{Do whatever you want.}
+% \item Call |\lsthk@PreSet| in any case.
+% \item Now you \emph{might } want to (but need not) use |\lstset| to set some
+%       new values.
+% \item \meta{Do whatever you want.}
+% \item Execute |\lst@Init\relax| to finish initialization.
+% \item \meta{Do whatever you want.}
+% \item Eventually comes the source code, which is processed by the kernel.
+%       You must ensure that the characters are either not already read or all
+%       active. Moreover \emph{you} must install a way to detect the end of the
+%       source code. If you've reached the end, you must \ldots
+% \item \ldots\ call |\lst@DeInit| to shutdown the kernel safely.
+% \item \meta{Do whatever you want.}
+% \item Close the group from the beginning.
+% \end{enumerate}
+% For example, consider the |\lstinline| command in case of being not inside an
+% argument. Then the steps are as follows.
+% \begin{enumerate}
+% \item |\leavevmode\bgroup| opens a group.
+% \item |\def\lst@boxpos{b}| `baseline' aligns the listing.
+% \item |\lsthk@PreSet|
+% \item |\lstset{flexiblecolumns,#1}| (|#1| is the user provided
+%       key=value list)
+% \item |\lsthk@TextStyle| deactivates all features not safe here.
+% \item |\lst@Init\relax|
+% \item |\lst@Def{`#1}{\lst@DeInit\egroup}| installs the `end inline'
+%       detection, where |#1| is the next character after |\lstinline|.
+%       Moreover chr(13) is redefined to end the fragment in the same way but
+%       also issues an error message.
+% \item Now comes the source code and \ldots
+% \item \ldots\ |\lst@DeInit| (from |\lst@Def| above) ends the code snippet
+%       correctly.
+% \item Nothing.
+% \item |\egroup| (also from |\lst@Def|) closes the group.
+% \end{enumerate}
+% The real definition is different since we allow source code inside arguments.
+% Read also section \ref{iTheInputCommand} if you really want to write
+% pretty-printing commands.
+%
+%
+% \section{Useful internal definitions}\label{dUsefulInternalDefinitions}
+%
+% This section requires an update.
+%
+%
+% \subsection{General purpose macros}\label{dGeneralPurposeMacros}
+%
+% \begin{syntax}
+% \item[0.19] |\lst@AddTo|\meta{macro}\marg{\TeX~material}
+%
+%       adds \meta{\TeX~material} globally to the contents of \meta{macro}.
+%
+% \item[0.20] |\lst@Extend|\meta{macro}\marg{\TeX~material}
+%
+%       calls |\lst@AddTo| after the first token of \meta{\TeX~material} is
+%       |\expand|ed|after|. For example, |\lst@Extend \a \b| merges the
+%       contents of the two macros and stores it globally in |\a|.
+%
+% \item[0.19] |\lst@lAddTo|\meta{macro}\marg{\TeX~material}
+% \item[0.20] |\lst@lExtend|\meta{macro}\marg{\TeX~material}
+%
+%       are local versions of |\lst@AddTo| and |\lst@Extend|.
+%
+% \item[0.18] |\lst@DeleteKeysIn|\meta{macro}\meta{macro \textup(keys to remove\textup)}
+%
+%       Both macros contain a comma separated list of keys (or keywords). All
+%       keys appearing in the second macro are removed (locally) from the first.
+%
+% \item[0.19] |\lst@ReplaceIn|\meta{macro}\meta{macro \textup(containing replacement list\textup)}
+% \item[0.20] |\lst@ReplaceInArg|\meta{macro}\marg{replacement list}
+%
+%       The replacement list has the form $a_1b_1$\ldots$a_nb_n$, where each
+%       $a_i$ and $b_i$ is a character sequence (enclosed in braces if
+%       necessary) and may contain macros, but the first token of $b_i$ must
+%       not be equivalent to |\@empty|. Each sequence $a_i$ inside the first
+%       macro is (locally) replaced by $b_i$.
+%       The suffix |Arg| refers to the \emph{braced} second argument instead of
+%       a (nonbraced) macro. It's a hint that we get the `real' argument and
+%       not a `pointer' to the argument.
+%
+% \item[0.20] |\lst@IfSubstring|\marg{character sequence}\meta{macro}\marg{then}\marg{else}
+%
+%       \meta{then} is executed if \meta{character sequence} is a substring of
+%       the contents of \meta{macro}. Otherwise \meta{else} is called.
+%
+% \item[0.12] |\lst@IfOneOf|\meta{character sequence}|\relax|\meta{macro}\marg{then}\marg{else}
+%
+%       |\relax| terminates the first parameter here since it is faster than
+%       enclosing it in braces. \meta{macro} contains a comma separated list
+%       of identifiers. If the character sequence is one of these indentifiers,
+%       \meta{then} is executed, and otherwise \meta{else}.
+%
+% \item[0.21] |\lst@Swap|\marg{tok1}\marg{tok2}
+%
+%       changes places of the following two tokens or arguments \emph{without}
+%       inserting braces. For example, |\lst@Swap{abc}{def}| expands to
+%       |defabc|.
+%
+% \item[0.18] |\lst@IfNextChars|\meta{macro}\marg{then}\marg{else}
+% \item[0.19] |\lst@IfNextCharsArg|\marg{character sequence}\marg{then}\marg{else}
+%
+%       Both macros execute either \meta{then} or \meta{else} according to
+%       whether the given character sequence respectively the contents of the
+%       given macro is found (after the three arguments). Note an important
+%       difference between these macros and \LaTeX's |\@ifnextchar|:
+%       We remove the characters behind the arguments until it is possible to
+%       decide which part must be executed. However, we save these characters
+%       in the macro |\lst@eaten|, so they can be inserted using \meta{then} or
+%       \meta{else}.
+%
+% \item[0.19] |\lst@IfNextCharActive|\marg{then}\marg{else}
+%
+%       executes \meta{then} if next character is active, and \meta{else}
+%       otherwise.
+%
+% \item[0.20] |\lst@DefActive|\meta{macro}\marg{character sequence}
+%
+%       stores the character sequence in \meta{macro}, but all characters
+%       become active. The string \emph{must not} contain a begin group, end
+%       group or escape character (|{}\|); it may contain a left brace, right
+%       brace or backslash with other meaning (= catcode). This command
+%       would be quite surplus if \meta{character sequence} is not already read
+%       by \TeX\ since such catcodes can be changed easily. It is explicitly
+%       allowed that the charcaters have been read, e.g.~in
+%       |\def\test{\lst@DefActive\temp{ABC}}|!
+%
+%       Note that this macro changes |\lccode|s 0--9 without restoring them.
+%
+% \item[0.20] |\lst@DefOther|\meta{macro}\marg{character sequence}
+%
+%       stores \meta{character sequence} in \meta{macro}, but all characters
+%       have catcode 12. Moreover all spaces are removed and control sequences
+%       are converted to their name without preceding backslash. For example,
+%       |\{ Chip \}| leads to |{Chip}| where all catcodes are 12---internally
+%       the primitive |\meaning| is used.
+%
+% \iffalse
+% \item[0.19] |\lst@MakeActive|\marg{character sequence}
+%
+%       stores the character sequence in |\lst@arg| and has the same
+%       restrictions as |\lst@DefActive|. If fact, the latter definition uses
+%       this macro here.
+% \fi
+% \end{syntax}
+%
+%
+% \subsection{Character tables manipulated}\label{dCharacterTablesManipulated}
+%
+% \begin{syntax}
+% \item[0.20] |\lst@SaveDef|\marg{character code}\meta{macro}
+%
+%       Saves the current definition of the specified character in
+%       \meta{macro}. You should always save a character definition before you
+%       redefine it! And use the saved version instead of writing directly
+%       |\lst@Process|\ldots---the character could already be redefined and
+%       thus not equivalent to its standard definition.
+%
+% \item[0.20] |\lst@DefSaveDef|\marg{character code}\meta{macro}\meta{parameter text}\marg{definition}
+% \item[0.20] |\lst@LetSaveDef|\marg{character code}\meta{macro}\meta{token}
+%
+%       combine |\lst@SaveDef| and |\lst@Def| respectively |\lst@Let|.
+% \end{syntax}
+% Of course I shouldn't forget to mention \emph{where} to alter the character
+% table. Hook material at \hookname{SelectCharTable} makes permanent changes,
+% i.e.~it effects all languages. The following two keys can be used in any
+% language definition and effects the particular language only.
+% \begin{syntax}
+% \item[0.20] |SelectCharTable=|\meta{\TeX\ code}
+% \item[0.20] |MoreSelectCharTable=|\meta{\TeX\ code}
+%
+%       uses \meta{\TeX\ code} (additionally) to select the character table.
+%       The code is executed after the standard character table is selected,
+%       but possibly before other aspects make more changes. Since previous
+%       meanings are always saved and executed inside the new definition, this
+%       should be harmless.
+% \end{syntax}
+% Here come two rather useless examples. Each point (full stop) will cause a
+% message `|.|' on the terminal and in the |.log| file if language |useless| is
+% active:
+% \begin{verbatim}
+%   \lstdefinelanguage{useless}
+%       {SelectCharTable=\lst@DefSaveDef{46}% save chr(46) ...
+%            \lsts@point             % ... in \lsts@point and ...
+%            {\message{.}\lsts@point}% ... use new definition
+%       }\end{verbatim}
+% If you want to count points, you could write
+% \begin{verbatim}
+%   \newcount\lst@points % \global
+%   \lst@AddToHook{Init}{\global\lst@points\z@}
+%   \lst@AddToHook{DeInit}{\message{Number of points: \the\lst@points}}
+%   \lstdefinelanguage[2]{useless}
+%       {SelectCharTable=\lst@DefSaveDef{46}\lsts@point
+%            {\global\advance\lst@points\@ne \lsts@point}
+%       }\end{verbatim}
+% |% \global| indicates that the allocated counter is used globally. We zero
+% the counter at the beginning of each listing, display a message about the
+% current value at the end of a listing, and each processed point advances the
+% counter by one.
+%
+% \begin{syntax}
+% \item[0.21] |\lst@CArg|\meta{active characters}|\relax|\meta{macro}
+%
+%       The string of active characters is split into \meta{1st}, \meta{2nd},
+%       and \marg{rest}. If one doesn't exist, an empty argument is used. Then
+%       \meta{macro} is called with |{|\meta{1st}\meta{2nd}\marg{rest}|}| plus
+%       a yet undefined control sequence \meta{save 1st}. This macro is
+%       intended to hold the current definition of \meta{1st}, so \meta{1st}
+%       can be redefined without loosing information.
+%
+% \item[0.19] |\lst@CArgX|\meta{characters}|\relax|\meta{macro}
+%
+%       makes \meta{characters} active before calling |\lst@CArg|.
+%
+% \item[0.21] |\lst@CDef{|\meta{1st}\meta{2nd}\marg{rest}|}|\meta{save 1st}\marg{execute}\marg{pre}\marg{post}
+%
+%       should be used in connection with |\lst@CArg| or |\lst@CArgX|, i.e.~as
+%       \meta{macro} there. \meta{1st}, \meta{2nd}, and \meta{rest} must be
+%       active characters and \meta{save 1st} must be an undefined control
+%       sequence.
+%
+%       Whenever the package reaches the character \meta{1st} (in a listing),
+%       \meta{execute} is executed. If the package detects the whole string
+%       \meta{1st}\meta{2nd}\meta{rest}, we additionally execute \meta{pre},
+%       then the string, and finally \meta{post}.
+%
+% \item[0.21] |\lst@CDefX|\meta{1st}\meta{2nd}\marg{rest}\meta{save 1st}\marg{execute}\marg{pre}\marg{post}
+%
+%       Ditto except that we execute \meta{pre} and \meta{post} without the
+%       original string if we reach \meta{1st}\meta{2nd}\meta{rest}.
+%       This means that the string is replaced by \meta{pre}\meta{post} (with
+%       preceding \meta{execute}).
+% \end{syntax}
+% As the final example, here's the definition of |\lst@DefDelimB|.
+% \begin{verbatim}
+%    \gdef\lst@DefDelimB#1#2#3#4#5#6#7#8{%
+%        \lst@CDef{#1}#2%
+%            {#3}%
+%            {\let\lst@bnext\lst@CArgEmpty
+%             \lst@ifmode #4\else
+%                 #5%
+%                 \def\lst@bnext{#6{#7}{#8}}%
+%             \fi
+%             \lst@bnext}%
+%            \@empty}\end{verbatim}
+% You got it?
+%
+%
+% \part{Implementation}
+%
+%
+% \CheckSum{12359}
+%^^A
+%^^A Don't index TeX-primitives.
+%^^A
+% \DoNotIndex{\advance,\afterassignment,\aftergroup,\batchmode,\begingroup}
+% \DoNotIndex{\box,\catcode,\char,\chardef,\closeout,\copy,\count,\csname,\def}
+% \DoNotIndex{\dimen,\discretionary,\divide,\dp,\edef,\else,\end,\endcsname}
+% \DoNotIndex{\endgroup,\endinput,\endlinechar,\escapechar,\everypar}
+% \DoNotIndex{\expandafter,\fi,\gdef,\global,\globaldefs,\hbadness,\hbox}
+% \DoNotIndex{\hrulefill,\hss,\ht}
+% \DoNotIndex{\if,\ifdim,\iffalse,\ifhmode,\ifinner,\ifnum,\ifodd,\iftrue}
+% \DoNotIndex{\ifvoid,\ifx,\ignorespaces,\immediate,\input,\jobname,\kern}
+% \DoNotIndex{\lccode,\leftskip,\let,\long,\lower,\lowercase,\meaning,\message}
+% \DoNotIndex{\multiply,\muskip,\noexpand,\noindent,\openout,\par,\parfillskip}
+% \DoNotIndex{\parshape,\parskip,\raise,\read,\relax,\rightskip,\setbox,\skip}
+% \DoNotIndex{\string,\the,\toks,\uppercase,\vbox,\vcenter,\vrule,\vtop,\wd}
+% \DoNotIndex{\write,\xdef}
+%
+%^^A
+%^^A Don't index LaTeX's private definitions.
+%^^A
+% \DoNotIndex{\@@end,\@@par,\@M,\@arabic,\@circlefnt,\@currentlabel}
+% \DoNotIndex{\@currenvir,\@depth,\@doendpe,\@dottedtocline,\@eha,\@ehc}
+% \DoNotIndex{\@empty,\@firstofone,\@firstoftwo,\@float,\@for,\@getcirc}
+% \DoNotIndex{\@gobble,\@gobbletwo,\@halfwidth,\@height,\@ifnextchar}
+% \DoNotIndex{\@ifundefined,\@ignoretrue,\@makecaption,\@makeother,\@namedef}
+% \DoNotIndex{\@ne,\@noligs,\@notprerr,\@onlypreamble,\@secondoftwo,\@spaces}
+% \DoNotIndex{\@starttoc,\@totalleftmargin,\@undefined,\@whilenum}
+% \DoNotIndex{\@wholewidth,\@width}
+% \DoNotIndex{\c@chapter,\c@figure,\c@page,\end@float,\f@family,\filename@area}
+% \DoNotIndex{\filename@base,\filename@ext,\filename@parse,\if@twoside}
+% \DoNotIndex{\l@ngrel@x,\m@ne,\new@command,\nfss@catcodes,\tw@,\thr@@}
+% \DoNotIndex{\z@,\zap@space}
+%
+%^^A
+%^^A Don't index LaTeX's package definitions.
+%^^A
+% \DoNotIndex{\AtEndOfPackage}
+% \DoNotIndex{\CurrentOption,\DeclareOption,\IfFileExists,\InputIfFileExists}
+% \DoNotIndex{\MessageBreak,\NeedsTeXFormat,\PackageError,\PackageWarning}
+% \DoNotIndex{\ProcessOptions,\ProvidesFile,\ProvidesPackage,\RequirePackage}
+%
+%^^A
+%^^A Don't index LaTeX's public definitions.
+%^^A
+% \DoNotIndex{\abovecaptionskip,\active,\addcontentsline,\addtocounter,\begin}
+% \DoNotIndex{\belowcaptionskip,\bfseries,\bgroup,\bigbreak,\chapter}
+% \DoNotIndex{\contentsname,\do,\egroup,\footnotesize,\index,\itshape}
+% \DoNotIndex{\linewidth,\llap,\makeatletter,\newbox,\newcommand,\newcount}
+% \DoNotIndex{\newcounter,\newdimen,\newtoks,\newwrite,\nointerlineskip}
+% \DoNotIndex{\normalbaselines,\normalfont,\numberline,\pretolerance,\protect}
+% \DoNotIndex{\qquad,\refstepcounter,\removelastskip,\renewcommand,\rlap}
+% \DoNotIndex{\small,\smallbreak,\smallskipamount,\smash,\space,\strut}
+% \DoNotIndex{\strutbox,\tableofcontents,\textasciicircum,\textasciitilde}
+% \DoNotIndex{\textasteriskcentered,\textbackslash,\textbar,\textbraceleft}
+% \DoNotIndex{\textbraceright,\textdollar,\textendash,\textgreater,\textless}
+% \DoNotIndex{\textunderscore,\textvisiblespace,\thechapter,\ttdefault}
+% \DoNotIndex{\ttfamily,\typeout,\value,\vphantom}
+%
+%^^A
+%^^A Don't index definitions from other packages.
+%^^A
+% \DoNotIndex{\MakePercentComment,\MakePercentIgnore}
+%
+%^^A
+%^^A Don't index 0.19 definitions.
+%^^A
+% \DoNotIndex{\listlistingsname,\listoflistings,\lstbox,\lstbox@}
+% \DoNotIndex{\lstlanguage@}
+%
+%^^A
+%^^A Don't index 0.20 subdefinitions.
+%^^A
+% \DoNotIndex{\lst@ATH@,\lst@BOLGobble@,\lst@BOLGobble@@,\lst@CArg@,\lst@CArg@@}
+% \DoNotIndex{\lst@CBC@,\lst@CBC@@,\lst@CCECUse@,\lst@CCPutMacro@,\lst@DefLang@}
+% \DoNotIndex{\lst@DefLang@@,\lst@DefOther@,\lst@DeleteKeysIn@,\lst@Escape@}
+% \DoNotIndex{\lstframe@,\lst@frameH@,\lst@frameL@,\lst@frameR@}
+% \DoNotIndex{\lst@FillFixed@,\lst@FindAlias@,\lst@FVConvert@}
+% \DoNotIndex{\lst@IfNextChars@,\lst@IfNextChars@@,\lst@InsideConvert@}
+% \DoNotIndex{\lst@InstallKeywords@,\lst@Key@,\lst@KeywordTestI@}
+% \DoNotIndex{\lst@MakeActive@,\lst@MakeMoreKeywords@}
+% \DoNotIndex{\lst@RC@,\lst@RC@@,\lst@ReplaceIn@,\lst@ReplaceInput@}
+% \DoNotIndex{\lst@ReportAllocs@,\lst@SKS@,\lst@SKS@@,\lst@UBC@}
+% \DoNotIndex{\lst@WorkingTestI@,\lstalias@,\lstalias@@,\lstalso@}
+% \DoNotIndex{\lstdefinestyle@,\lstenv@BOLGobble@@}
+% \DoNotIndex{\lstenv@ProcessJ@,\lstinline@,\lstKV@OptArg@,\lstKV@SetIf@}
+% \DoNotIndex{\lstlang@,\lstnewenvironment@,\lst@outputpos,\lstset@}
+%
+%
+% \section{Overture}
+%
+% \paragraph{Registers}
+% For each aspect, the required numbers of registers are listed in section
+% \lstref{dPackageLoading}. Furthermore, the \packagename{keyval} package
+% allocates one token register. The macros, boxes and counters
+% |\@temp|\ldots|a|/|b|, the dimensions |\@tempdim|\ldots, and the macro
+% |\@gtempa| are also used, see the index.
+%
+% \paragraph{Naming conventions}
+% Let's begin with definitions for the user. All these public macros have
+% lower case letters and contain |lst|. Private macros and variables use the
+% following prefixes (not up-to-date?):
+% \begin{itemize}
+% \item |\lst@| for a general macro or variable,
+% \item |\lstenv@| if it is defined for the listing environment,
+% \item |\lsts@| for |s|aved character meanings,
+% \item |\lsthk@|\meta{name of hook} holds hook material,
+% \item |\lst|\meta{prefix}|@| for various kinds of keywords and working
+%       identifiers.
+% \item |\lstlang@|\meta{language}|@|\meta{dialect} contains a language and
+% \item |\lststy@|\meta{the style} contains style definition,
+% \item |\lstpatch@|\meta{aspect} to patch an aspect,
+%
+% \item |\lsta@|\meta{language}|$|\meta{dialect} contains alias,
+% \item |\lsta@|\meta{language} contains alias for all dialects of a language,
+% \item |\lstdd@|\meta{language} contains default dialect of a language
+%       (if present).
+% \end{itemize}
+% To distinguish procedure-like macros from data-macros, the name of procedure
+% macros use upper case letters with each beginning word, e.g.~|\lst@AddTo|.
+% A macro with suffix |@| is the main working-procedure for another definition,
+% for example |\lstinputlisting@| does the main work for |\lstinputlisting|.
+%
+% \paragraph{Preamble}
+% All files generated from this \texttt{listings.dtx} will get a header.
+%    \begin{macrocode}
+%% Please read the software license in listings-1.3.dtx or listings-1.3.pdf.
+%%
+%% (w)(c) 1996--2004 Carsten Heinz and/or any other author listed
+%% elsewhere in this file.
+%% (c) 2006 Brooks Moses
+%%
+%% Send comments and ideas on the package, error reports and additional
+%% programming languages to <bmoses@dpdx.net>.
+%%
+%    \end{macrocode}
+%
+% \paragraph{Identification}
+% All files will have same date and version.
+%    \begin{macrocode}
+\def\filedate{2007/02/22}
+\def\fileversion{1.4}
+%    \end{macrocode}
+% What we need and who we are.
+%    \begin{macrocode}
+%<*kernel>
+\NeedsTeXFormat{LaTeX2e}
+\AtEndOfPackage{\ProvidesPackage{listings}
+             [\filedate\space\fileversion\space(Carsten Heinz)]}
+%    \end{macrocode}
+% \begin{macro}{\lst@CheckVersion}
+% can be used by the various driver files to guarantee the correct version.
+%    \begin{macrocode}
+\def\lst@CheckVersion#1{\edef\reserved@a{#1}%
+    \ifx\lst@version\reserved@a \expandafter\@gobble
+                          \else \expandafter\@firstofone \fi}
+%    \end{macrocode}
+%    \begin{macrocode}
+\let\lst@version\fileversion
+%</kernel>
+%    \end{macrocode}
+% \end{macro}
+% For example by the miscellaneous file
+%    \begin{macrocode}
+%<*misc>
+\ProvidesFile{lstmisc.sty}
+             [\filedate\space\fileversion\space(Carsten Heinz)]
+\lst@CheckVersion\fileversion
+    {\typeout{^^J%
+     ***^^J%
+     *** This file requires `listings.sty' version \fileversion.^^J%
+     *** You have a serious problem, so I'm exiting ...^^J%
+     ***^^J}%
+     \batchmode \@@end}
+%</misc>
+%    \end{macrocode}
+% or by the dummy patch.
+%    \begin{macrocode}
+%<*patch>
+\ProvidesFile{lstpatch.sty}
+             [\filedate\space\fileversion\space(Carsten Heinz)]
+\lst@CheckVersion\lst@version{}
+%</patch>
+%    \end{macrocode}
+%    \begin{macrocode}
+%<*doc>
+\ProvidesPackage{lstdoc}
+             [\filedate\space\fileversion\space(Carsten Heinz)]
+%</doc>
+%    \end{macrocode}
+%
+% \paragraph{Category codes}
+% We define two macros to ensure correct catcodes when we input other files of
+% the \packagename{listings} package.
+%
+% \begin{macro}{\lst@InputCatcodes}
+% |@| and |"| become letters. Tabulators and EOLs are ignored; this avoids
+% unwanted spaces---in the case I've forgotten a comment character.
+%    \begin{macrocode}
+%<*kernel>
+\def\lst@InputCatcodes{%
+    \makeatletter \catcode`\"12%
+    \catcode`\^^@\active
+    \catcode`\^^I9%
+    \catcode`\^^L9%
+    \catcode`\^^M9%
+    \catcode`\%14%
+    \catcode`\~\active}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@RestoreCatcodes}
+% To load the kernel, we will change some catcodes and lccodes. We restore them
+% at the end of package loading. \lsthelper{Dr.~Jobst~Hoffmann}{2000/11/17}
+% {incompatibility with typehtml package} reported an incompatibility with the
+% \packagename{typehtml} package, which is resolved by |\lccode`\/`\/| below.
+%    \begin{macrocode}
+\def\lst@RestoreCatcodes#1{%
+    \ifx\relax#1\else
+        \noexpand\catcode`\noexpand#1\the\catcode`#1\relax
+        \expandafter\lst@RestoreCatcodes
+    \fi}
+\edef\lst@RestoreCatcodes{%
+    \noexpand\lccode`\noexpand\/`\noexpand\/%
+    \lst@RestoreCatcodes\"\^^I\^^M\~\^^@\relax
+    \catcode12\active}
+%    \end{macrocode}
+% Now we are ready for
+%    \begin{macrocode}
+\lst@InputCatcodes
+\AtEndOfPackage{\lst@RestoreCatcodes}
+%</kernel>
+%    \end{macrocode}
+% \end{macro}
+%
+% \paragraph{Statistics}
+% \begin{macro}{\lst@GetAllocs}
+% \begin{macro}{\lst@ReportAllocs}
+% are used to show the allocated registers.
+%    \begin{macrocode}
+%<*info>
+\def\lst@GetAllocs{%
+    \edef\lst@allocs{%
+        0\noexpand\count\the\count10,1\noexpand\dimen\the\count11,%
+        2\noexpand\skip\the\count12,3\noexpand\muskip\the\count13,%
+        4\noexpand\box\the\count14,5\noexpand\toks\the\count15,%
+        6\noexpand\read\the\count16,7\noexpand\write\the\count17}}
+\def\lst@ReportAllocs{%
+    \message{^^JAllocs:}\def\lst@temp{none}%
+    \expandafter\lst@ReportAllocs@\lst@allocs,\z@\relax\z@,}
+\def\lst@ReportAllocs@#1#2#3,{%
+    \ifx#2\relax \message{\lst@temp^^J}\else
+        \@tempcnta\count1#1\relax \advance\@tempcnta -#3\relax
+        \ifnum\@tempcnta=\z@\else
+            \let\lst@temp\@empty
+            \message{\the\@tempcnta \string#2,}%
+        \fi
+        \expandafter\lst@ReportAllocs@
+    \fi}
+\lst@GetAllocs
+%    \end{macrocode}
+% \end{macro}\end{macro}
+% \begingroup
+%    \begin{macrocode}
+%</info>
+%    \end{macrocode}
+% \endgroup
+%
+% \paragraph{Miscellaneous}
+% \begin{macro}{\@lst}
+% Just a definition to save memory space.
+%    \begin{macrocode}
+%<*kernel>
+\def\@lst{lst}
+%</kernel>
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \section{General problems}
+%
+% All definitions in this section belong to the kernel.
+%    \begin{macrocode}
+%<*kernel>
+%    \end{macrocode}
+%
+%
+%^^A \subsection{Quick `if parameter empty'}
+%^^A
+%^^A There are many situations where you have to look whether a macro parameter is empty.
+%^^A We have at least two possibilities to test |#1|, for example:
+%^^A \begin{center}
+%^^A \begin{minipage}{0.35\linewidth}
+%^^A \begin{verbatim}
+%^^A\def\test{#1}%
+%^^A\ifx \test\empty
+%^^A        % #1 is empty
+%^^A\else
+%^^A        % #1 is not empty
+%^^A\fi\end{verbatim}
+%^^A \end{minipage}
+%^^A \hskip2em\vrule\hskip2em
+%^^A \begin{minipage}{0.35\linewidth}
+%^^A \begin{verbatim}
+%^^A\ifx \empty#1\empty
+%^^A        % #1 is empty
+%^^A\else
+%^^A        % #1 is not empty
+%^^A\fi\end{verbatim}
+%^^A \end{minipage}
+%^^A \end{center}
+%^^A where |\empty| is defined by |\def\empty{}|, of course.
+%^^A The left variant should be clear and works in any case.
+%^^A The right-hand side works correct if and only if the first token of |#1| is
+%^^A not equivalent to |\empty|.
+%^^A This granted, the |\ifx| is true if and only if |#1| is empty (since |\empty|
+%^^A left from |#1| is (not) compared with |\empty| on the right).
+%^^A The two |\empty|s might be replaced by any other macro, which is not
+%^^A equivalent to the first token of the argument.
+%^^A But the definition of that macro shouldn't be too complex since this would
+%^^A slow down the |\ifx|.
+%^^A The right example needs about $45\%$ of the left's time.
+%^^A Note that this \TeX{}nique lost its importance from version 0.18 on and that
+%^^A other packages use |!| or |\relax| instead of |\empty|, for example.
+%^^A
+%^^A This \TeX nique is described in ``The \TeX book'' on page 376.
+%
+%
+% \subsection{Substring tests}\label{iSubstringTests}
+%
+% \lstset{language=TeX,gobble=4,xleftmargin=20pt,columns=[l]fullflexible,mathescape,keywordstyle=\ttfamily,texcsstyle=\bfseries}
+% \let\texverb\lstinline
+% \lstnewenvironment{texcode}[1][]{\lstset{#1}}{}
+% \lstset{keywords={def,key}}
+%
+% It's easy to decide whether a given character sequence is a substring of
+% another string. For example, for the substring \texverb|def| we could say
+% \begin{texcode}
+%   \def \lst@temp#1def#2\relax{%
+%       \ifx \@empty#2\@empty
+%               % "def" is not a substring
+%       \else
+%               % "def" is a substring
+%       \fi}
+%
+%   \lst@temp $\meta{another\ string}$def\relax
+% \end{texcode}
+% When \TeX\ passes the arguments |#1| and |#2|, the second is empty if
+% and only if \texverb|def| is not a substring. Without the additional
+% \texverb|def\relax|, one would get a ``runaway argument'' error if
+% \meta{another string} doesn't contain \texverb|def|.
+%
+% We use substring tests mainly in the special case of an identifier and a
+% comma separated list of keys or keywords:
+% \begin{texcode}[keywords=key]
+%   \def \lst@temp#1,key,#2\relax{%
+%       \ifx \@empty#2\@empty
+%               % `key' is not a keyword
+%       \else
+%               % `key' is a keyword
+%       \fi}
+%
+%   \lst@temp,$\meta{list\ of\ keywords}$,key,\relax
+% \end{texcode}
+% This works very well and is quite fast. But we can reduce run time in the
+% case that \texttt{key} is a keyword. Then |#2| takes the rest of the string,
+% namely all keywords after \texttt{key}.
+% Since \TeX\ inserts |#2| between the \texverb|\@empty|s, it must drop all of
+% |#2| except the first character---which is compared with \texverb|\@empty|.
+% We can redirect this rest to a third parameter:
+% \begin{texcode}[keywords=key]
+%   \def \lst@temp#1,key,#2#3\relax{%
+%       \ifx \@empty#2%
+%               % "key" is not a keyword
+%       \else
+%               % "key" is a keyword
+%       \fi}
+%
+%   \lst@temp,$\meta{list\ of\ keywords}$,key,\@empty\relax
+% \end{texcode}
+% That's a bit faster and an improvement for version 0.20.
+%
+% \begin{macro}{\lst@IfSubstring}
+% The implementation should be clear from the discussion above.
+%    \begin{macrocode}
+\def\lst@IfSubstring#1#2{%
+    \def\lst@temp##1#1##2##3\relax{%
+        \ifx \@empty##2\expandafter\@secondoftwo
+                 \else \expandafter\@firstoftwo \fi}%
+    \expandafter\lst@temp#2#1\@empty\relax}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@IfOneOf}
+% Ditto.
+%    \begin{macrocode}
+\def\lst@IfOneOf#1\relax#2{%
+    \def\lst@temp##1,#1,##2##3\relax{%
+        \ifx \@empty##2\expandafter\@secondoftwo
+                 \else \expandafter\@firstoftwo \fi}%
+    \expandafter\lst@temp\expandafter,#2,#1,\@empty\relax}
+%    \end{macrocode}
+% \end{macro}
+% \begin{REMOVED}
+% One day, if there is need for a case insensitive key(word) test again, we
+% can use two |\uppercase|s to normalize the first parameter:
+%    \begin{verbatim}
+%\def\lst@IfOneOfInsensitive#1\relax#2{%
+%    \uppercase{\def\lst@temp##1,#1},##2##3\relax{%
+%        \ifx \@empty##2\expandafter\@secondoftwo
+%                 \else \expandafter\@firstoftwo \fi}%
+%    \uppercase{%
+%        \expandafter\lst@temp\expandafter,#2,#1},\@empty\relax}\end{verbatim}
+% Here we assume that macro |#2| already contains capital characters only, see
+% the definition of |\lst@MakeMacroUppercase| at the very end of section
+% \ref{iMakingTests}. If we \emph{must not} assume that, we could simply
+% insert an |\expandafter| between the second |\uppercase| and the following
+% brace. But this slows down the tests!
+% \end{REMOVED}
+%
+% \begin{macro}{\lst@DeleteKeysIn}
+% The submacro does the main work; we only need to expand the second
+% macro---the list of keys to remove---and append the terminator |\relax|.
+%    \begin{macrocode}
+\def\lst@DeleteKeysIn#1#2{%
+    \expandafter\lst@DeleteKeysIn@\expandafter#1#2,\relax,}
+%    \end{macrocode}
+% `Replacing' the very last |\lst@DeleteKeysIn@| by |\lst@RemoveCommas|
+% terminates the loop here. Note: The |\@empty| after |#2| ensures that this
+% macro also works if |#2| is empty.
+%    \begin{macrocode}
+\def\lst@DeleteKeysIn@#1#2,{%
+    \ifx\relax#2\@empty
+        \expandafter\@firstoftwo\expandafter\lst@RemoveCommas
+    \else
+        \ifx\@empty#2\@empty\else
+%    \end{macrocode}
+% If we haven't reached the end of the list and if the key is not empty, we
+% define a temporary macro which removes all appearances.
+%    \begin{macrocode}
+            \def\lst@temp##1,#2,##2{%
+                ##1%
+                \ifx\@empty##2\@empty\else
+                    \expandafter\lst@temp\expandafter,%
+                \fi ##2}%
+            \edef#1{\expandafter\lst@temp\expandafter,#1,#2,\@empty}%
+        \fi
+    \fi
+    \lst@DeleteKeysIn@#1}
+%    \end{macrocode}
+% \end{macro}
+% \begin{OLDDEF}
+% The following modification needs about $50\%$ more run time.
+% It doesn't use |\edef| and thus also works with |\{| inside |#1|.
+% However, we don't need that at the moment.
+%    \begin{verbatim}
+%            \def\lst@temp##1,#2,##2{%
+%                \ifx\@empty##2%
+%                    \lst@lAddTo#1{##1}%
+%                \else
+%                    \lst@lAddTo#1{,##1}%
+%                    \expandafter\lst@temp\expandafter,%
+%                \fi ##2}%
+%            \let\@tempa#1\let#1\@empty
+%            \expandafter\lst@temp\expandafter,\@tempa,#2,\@empty\end{verbatim}
+% \end{OLDDEF}
+%
+% \begin{macro}{\lst@RemoveCommas}
+% The macro drops commas at the beginning and assigns the new value to |#1|.
+%    \begin{macrocode}
+\def\lst@RemoveCommas#1{\edef#1{\expandafter\lst@RC@#1\@empty}}
+\def\lst@RC@#1{\ifx,#1\expandafter\lst@RC@ \else #1\fi}
+%    \end{macrocode}
+% \end{macro}
+% \begin{OLDDEF}
+% The following version works with |\{| inside the macro |#1|.
+%    \begin{verbatim}
+%\def\lst@RemoveCommas#1{\expandafter\lst@RC@#1\@empty #1}
+%\def\lst@RC@#1{%
+%    \ifx,#1\expandafter\lst@RC@
+%      \else\expandafter\lst@RC@@\expandafter#1\fi}
+%\def\lst@RC@@#1\@empty#2{\def#2{#1}}\end{verbatim}
+% \end{OLDDEF}
+%
+% \begin{macro}{\lst@ReplaceIn}
+% \begin{macro}{\lst@ReplaceInArg}
+% These macros are similar to |\lst@DeleteKeysIn|, except that \ldots
+%    \begin{macrocode}
+\def\lst@ReplaceIn#1#2{%
+    \expandafter\lst@ReplaceIn@\expandafter#1#2\@empty\@empty}
+\def\lst@ReplaceInArg#1#2{\lst@ReplaceIn@#1#2\@empty\@empty}
+%    \end{macrocode}
+% \ldots\space we replace |#2| by |#3| instead of |,#2,| by a single comma
+% (which removed the key |#2| above).
+%    \begin{macrocode}
+\def\lst@ReplaceIn@#1#2#3{%
+    \ifx\@empty#3\relax\else
+        \def\lst@temp##1#2##2{%
+            \ifx\@empty##2%
+                \lst@lAddTo#1{##1}%
+            \else
+                \lst@lAddTo#1{##1#3}\expandafter\lst@temp
+            \fi ##2}%
+        \let\@tempa#1\let#1\@empty
+        \expandafter\lst@temp\@tempa#2\@empty
+        \expandafter\lst@ReplaceIn@\expandafter#1%
+    \fi}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsection{Flow of control}
+%
+% \begin{macro}{\@gobblethree}
+% is defined if and only if undefined.
+%    \begin{macrocode}
+\providecommand*\@gobblethree[3]{}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@GobbleNil}
+%    \begin{macrocode}
+\def\lst@GobbleNil#1\@nil{}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@Swap}
+% is just this:
+%    \begin{macrocode}
+\def\lst@Swap#1#2{#2#1}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@if}
+% \begin{macro}{\lst@true}
+% \begin{macro}{\lst@false}
+% A general |\if| for temporary use.
+%    \begin{macrocode}
+\def\lst@true{\let\lst@if\iftrue}
+\def\lst@false{\let\lst@if\iffalse}
+\lst@false
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\lst@IfNextCharsArg}
+% is quite easy: We define a macro and call |\lst@IfNextChars|.
+%    \begin{macrocode}
+\def\lst@IfNextCharsArg#1{%
+    \def\lst@tofind{#1}\lst@IfNextChars\lst@tofind}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@IfNextChars}
+% We save the arguments and start a loop.
+%    \begin{macrocode}
+\def\lst@IfNextChars#1#2#3{%
+    \let\lst@tofind#1\def\@tempa{#2}\def\@tempb{#3}%
+    \let\lst@eaten\@empty \lst@IfNextChars@}
+%    \end{macrocode}
+% Expand the characters we are looking for.
+%    \begin{macrocode}
+\def\lst@IfNextChars@{\expandafter\lst@IfNextChars@@\lst@tofind\relax}
+%    \end{macrocode}
+% Now we can refine |\lst@tofind| and append the input character |#3| to
+% |\lst@eaten|.
+%    \begin{macrocode}
+\def\lst@IfNextChars@@#1#2\relax#3{%
+    \def\lst@tofind{#2}\lst@lAddTo\lst@eaten{#3}%
+    \ifx#1#3%
+%    \end{macrocode}
+% If characters are the same, we either call |\@tempa| or continue the test.
+%    \begin{macrocode}
+        \ifx\lst@tofind\@empty
+            \let\lst@next\@tempa
+        \else
+            \let\lst@next\lst@IfNextChars@
+        \fi
+        \expandafter\lst@next
+    \else
+%    \end{macrocode}
+% If the characters are different, we call |\@tempb|.
+%    \begin{macrocode}
+        \expandafter\@tempb
+    \fi}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@IfNextCharActive}
+% We compare the character |#3| with its active version |\lowercase{~}|.
+% Note that the right brace between |\ifx~| and |#3| ends the |\lowercase|.
+% The |\endgroup| restores the |\lccode|.
+%    \begin{macrocode}
+\def\lst@IfNextCharActive#1#2#3{%
+    \begingroup \lccode`\~=`#3\lowercase{\endgroup
+    \ifx~}#3%
+        \def\lst@next{#1}%
+    \else
+        \def\lst@next{#2}%
+    \fi \lst@next #3}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@for}
+% A for-loop with expansion of the loop-variable.  This was improved due to
+% a suggestion by \lsthelper{Hendri~Adriaens}{2006/03/31}{speedup of 
+% \lst@for}.
+%    \begin{macrocode}
+\def\lst@for#1\do#2{%
+  \def\lst@forbody##1{#2}%
+  \def\@tempa{#1}%
+  \ifx\@tempa\@empty\else\expandafter\lst@f@r#1,\@nil,\fi
+}
+\def\lst@f@r#1,{%
+  \def\@tempa{#1}%
+  \ifx\@tempa\@nnil\else\lst@forbody{#1}\expandafter\lst@f@r\fi
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Catcode changes}\label{iCatcodeChanges}
+%
+% A character gets its catcode right after reading it and \TeX\ has no 
+% primitive command to change attached catcodes. However, we can replace these
+% characters by characters with same ASCII codes and different catcodes.
+% It's not the same but suffices since the result is the same.
+% Here we treat the very special case that all characters become active.
+% If we want \texverb|\lst@arg| to contain an active version of the character
+% |#1|, a prototype macro could be
+% \begin{texcode}
+%   \def\lst@MakeActive#1{\lccode`\~=`#1\lowercase{\def\lst@arg{~}}}
+% \end{texcode}
+% The |\lowercase| changes the ASCII code of |~| to the one of |#1| since we
+% have said that |#1| is the lower case version of |~|.
+% Fortunately the |\lowercase| doesn't change the catcode, so we have an active
+% version of |#1|.
+% Note that |~| is usually active.
+%
+% \begin{macro}{\lst@MakeActive}
+% We won't do this character by character.
+% To increase speed we change nine characters at the same time (if nine
+% characters are left).
+% \begin{TODO}
+% This was introduced when the delimiters were converted each listings. Now
+% this conversion is done only each language selection. So we might want to
+% implement a character by character conversion again to decrease the memory
+% usage.
+% \end{TODO}
+% We get the argument, empty |\lst@arg| and begin a loop.
+%    \begin{macrocode}
+\def\lst@MakeActive#1{%
+    \let\lst@temp\@empty \lst@MakeActive@#1%
+    \relax\relax\relax\relax\relax\relax\relax\relax\relax}
+%    \end{macrocode}
+% There are nine |\relax|es since |\lst@MakeActive@| has nine parameters and we
+% don't want any problems in the case that |#1| is empty.
+% We need nine active characters now instead of a single |~|.
+% We make these catcode changes local and define the coming macro |\global|.
+%    \begin{macrocode}
+\begingroup
+\catcode`\^^@=\active \catcode`\^^A=\active \catcode`\^^B=\active
+\catcode`\^^C=\active \catcode`\^^D=\active \catcode`\^^E=\active
+\catcode`\^^F=\active \catcode`\^^G=\active \catcode`\^^H=\active
+%    \end{macrocode}
+% First we |\let| the next operation be |\relax|.
+% This aborts our loop for processing all characters (default and possibly
+% changed later).
+% Then we look if we have at least one character.
+% If this is not the case, the loop terminates and all is done.
+%    \begin{macrocode}
+\gdef\lst@MakeActive@#1#2#3#4#5#6#7#8#9{\let\lst@next\relax
+    \ifx#1\relax
+    \else \lccode`\^^@=`#1%
+%    \end{macrocode}
+% Otherwise we say that |^^@|=chr(0) is the lower case version of the first
+% character.
+% Then we test the second character.
+% If there is none, we append the lower case |^^@| to |\lst@temp|.
+% Otherwise we say that |^^A|=chr(1) is the lower case version of the second
+% character and we test the next argument, and so on.
+%    \begin{macrocode}
+    \ifx#2\relax
+        \lowercase{\lst@lAddTo\lst@temp{^^@}}%
+    \else \lccode`\^^A=`#2%
+    \ifx#3\relax
+        \lowercase{\lst@lAddTo\lst@temp{^^@^^A}}%
+    \else \lccode`\^^B=`#3%
+    \ifx#4\relax
+        \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B}}%
+    \else \lccode`\^^C=`#4%
+    \ifx#5\relax
+        \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C}}%
+    \else \lccode`\^^D=`#5%
+    \ifx#6\relax
+        \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C^^D}}%
+    \else \lccode`\^^E=`#6%
+    \ifx#7\relax
+        \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C^^D^^E}}%
+    \else \lccode`\^^F=`#7%
+    \ifx#8\relax
+        \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C^^D^^E^^F}}%
+    \else \lccode`\^^G=`#8%
+    \ifx#9\relax
+        \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C^^D^^E^^F^^G}}%
+%    \end{macrocode}
+% If nine characters are present, we append (lower case versions of) nine
+% active characters and call this macro again via redefining |\lst@next|.
+%    \begin{macrocode}
+    \else \lccode`\^^H=`#9%
+        \lowercase{\lst@lAddTo\lst@temp{^^@^^A^^B^^C^^D^^E^^F^^G^^H}}%
+        \let\lst@next\lst@MakeActive@
+    \fi \fi \fi \fi \fi \fi \fi \fi \fi
+    \lst@next}
+\endgroup
+%    \end{macrocode}
+% This |\endgroup| restores the catcodes of chr(0)--chr(8), but not the
+% catcodes of the characters inside |\lst@MakeActive@| since they are already
+% read.
+%
+% Note: A conversion from an arbitrary `catcode--character code' table back to
+% \TeX's catcodes is possible if we test against the character codes (either
+% via |\ifnum| or |\ifcase|).
+% But control sequences and begin and end group characters definitely need
+% some special treatment.
+% However I haven't checked the details.
+% So just ignore this and don't bother me for this note. :\,--\,)
+% \end{macro}
+%
+% \begin{macro}{\lst@DefActive}
+% An easy application of |\lst@MakeActive|.
+%    \begin{macrocode}
+\def\lst@DefActive#1#2{\lst@MakeActive{#2}\let#1\lst@temp}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@DefOther}
+% We use the fact that |\meaning| produces catcode 12 characters except spaces
+% stay spaces. |\escapechar| is modified locally to suppress the output of an
+% escape character. Finally we remove spaces via \LaTeX's |\zap@space|, which
+% was proposed by \lsthelper{Rolf~Niepraschk}{1997/04/24}{use \zap@space}---not
+% in this context, but that doesn't matter.
+%    \begin{macrocode}
+\def\lst@DefOther#1#2{%
+    \begingroup \def#1{#2}\escapechar\m@ne \expandafter\endgroup
+    \expandafter\lst@DefOther@\meaning#1\relax#1}
+\def\lst@DefOther@#1>#2\relax#3{\edef#3{\zap@space#2 \@empty}}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+%\ifhyper
+% \subsection{Applications to \ref*{iCatcodeChanges}}\label{iApplicationsTo}
+%\else
+% \subsection{Applications to \ref{iCatcodeChanges}}\label{iApplicationsTo}
+%\fi
+%
+% If an environment is used inside an argument, the listing is already read and
+% we can do nothing to preserve the catcodes.
+% However, under certain circumstances the environment can be used inside an
+% argument---that's at least what I've said in the User's guide.
+% And now I have to work for it coming true.
+% Moreover we define an analogous conversion macro for the
+% \packagename{fancyvrb} mode.
+% \begin{syntax}
+% \item[0.19] |\lst@InsideConvert{|\meta{\TeX\ material \textup(already read\textup)}|}|
+%
+%       \emph{appends} a verbatim version of the argument to |\lst@arg|, but all
+%       appended characters are active. Since it's not a character to character
+%       conversion, `verbatim' needs to be explained. All characters can be
+%       typed in as they are except |\|, |{|, |}| and |%|. If you want one of
+%       these, you must write |\\|, |\{|, |\}| and |\%| instead.
+%       If two spaces should follow each other, the second (third, fourth,
+%       \ldots) space must be entered with a preceding backslash.
+%
+% \item[0.19] |\lst@XConvert{|\meta{\TeX\ material \textup(already read\textup)}|}|
+%
+%       \emph{appends} a `verbatim' version of the argument to |\lst@arg|.
+%       Here \TeX\ material is allowed to be put inside argument braces like
+%       |{(*}{*)}|. The contents of these arguments are converted, the braces
+%       stay as curly braces.
+%
+%       If |\lst@if| is true, each second argument is treated differently.
+%       Only the first character (of the delimiter) becomes active.
+% \end{syntax}
+%
+% \begin{macro}{\lst@InsideConvert}
+% If \texttt{mathescape} is not on, we call (near the end of this definition) a
+% submacro similar to |\zap@space| to replaced single spaces by active spaces.
+% Otherwise we check whether the code contains a pair |$...$| and call the
+% appropriate macro.
+%    \begin{macrocode}
+\def\lst@InsideConvert#1{%
+   \lst@ifmathescape
+      \lst@InsideConvert@e#1$\@nil
+      \lst@if
+         \lst@InsideConvert@ey#1\@nil
+      \else
+         \lst@InsideConvert@#1 \@empty
+         \expandafter\@gobbletwo
+      \fi
+      \expandafter\lst@next
+   \else
+      \lst@InsideConvert@#1 \@empty
+   \fi}
+\begingroup \lccode`\~=`\ \relax \lowercase{%
+%    \end{macrocode}
+% We make |#1| active and append these characters (plus an active space) to
+% |\lst@arg|.
+% If we haven't found the end |\@empty| of the input, we continue the process.
+%    \begin{macrocode}
+\gdef\lst@InsideConvert@#1 #2{%
+    \lst@MakeActive{#1}%
+    \ifx\@empty#2%
+        \lst@lExtend\lst@arg{\lst@temp}%
+    \else
+        \lst@lExtend\lst@arg{\lst@temp~}%
+        \expandafter\lst@InsideConvert@
+    \fi #2}
+%    \end{macrocode}
+% Finally we end the |\lowercase| and close a group.
+%    \begin{macrocode}
+}\endgroup
+%    \end{macrocode}
+% The next definition has been used above to check for |$...$| and the following
+% one keeps the math contents from being converted. This feature was requested by
+% \lsthelper{Dr.~Jobst~Hoffmann}{}{}.
+%    \begin{macrocode}
+\def\lst@InsideConvert@e#1$#2\@nil{%
+   \ifx\@empty#2\@empty \lst@false \else \lst@true \fi}
+\def\lst@InsideConvert@ey#1$#2$#3\@nil{%
+   \lst@InsideConvert@#1 \@empty
+   \lst@lAddTo\lst@arg{%
+      \lst@ifdropinput\else
+         \lst@TrackNewLines\lst@OutputLostSpace \lst@XPrintToken
+         \setbox\@tempboxa=\hbox\bgroup$\lst@escapebegin
+         #2%
+         \lst@escapeend$\egroup \lst@CalcLostSpaceAndOutput
+         \lst@whitespacefalse
+      \fi}%
+   \def\lst@next{\lst@InsideConvert{#3}}%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@XConvert}
+% Check for an argument \ldots
+%    \begin{macrocode}
+\def\lst@XConvert{\@ifnextchar\bgroup \lst@XConvertArg\lst@XConvert@}
+%    \end{macrocode}
+% \ldots, convert the argument, add it together with group delimiters to
+% |\lst@arg|, and we continue the conversion.
+%    \begin{macrocode}
+\def\lst@XConvertArg#1{%
+    {\lst@false \let\lst@arg\@empty
+     \lst@XConvert#1\@nil
+     \global\let\@gtempa\lst@arg}%
+    \lst@lExtend\lst@arg{\expandafter{\@gtempa}}%
+    \lst@XConvertNext}
+%    \end{macrocode}
+% Having no |\bgroup|, we look whether we've found the end of the input, and
+% convert one token ((non)active character or control sequence) and continue.
+%    \begin{macrocode}
+\def\lst@XConvert@#1{%
+    \ifx\@nil#1\else
+        \begingroup\lccode`\~=`#1\lowercase{\endgroup
+        \lst@lAddTo\lst@arg~}%
+        \expandafter\lst@XConvertNext
+    \fi}
+\def\lst@XConvertNext{%
+    \lst@if \expandafter\lst@XConvertX
+      \else \expandafter\lst@XConvert \fi}
+%    \end{macrocode}
+% Now we make only the first character active.
+%    \begin{macrocode}
+\def\lst@XConvertX#1{%
+    \ifx\@nil#1\else
+        \lst@XConvertX@#1\relax
+        \expandafter\lst@XConvert
+    \fi}
+\def\lst@XConvertX@#1#2\relax{%
+    \begingroup\lccode`\~=`#1\lowercase{\endgroup
+    \lst@XCConvertX@@~}{#2}}
+\def\lst@XCConvertX@@#1#2{\lst@lAddTo\lst@arg{{#1#2}}}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Driver file handling*}
+%
+% The \packagename{listings} package is split into several driver files,
+% miscellaneous (= aspect) files, and one kernel file.
+% All these files can be loaded partially and on demand---except the kernel
+% which provides this functionality.
+% \begin{syntax}
+% \item[0.21] |\lst@Require|\marg{name}\marg{prefix}\marg{feature list}\meta{alias}\meta{file list macro}
+%
+%       tries to load all items of \meta{feature list} from the files
+%       listed in \meta{file list macro}.
+%       Each item has the form [\oarg{sub}]\meta{feature}.
+%       |\lst@if| equals |\iftrue| if and only if all items were loadable.
+%
+%       The macro \meta{alias} gets an item as argument and must define
+%       appropriate versions of |\lst@oalias| and |\lst@malias|. In fact
+%       the feature associated with these definitions is loaded. You can
+%       use \meta{alias}=|\lst@NoAlias| for no substitution.
+%
+%       \meta{prefix} identifies the type internally and \meta{name} is used
+%       for messages.
+%
+%       For example, |\lstloadaspects| uses the following arguments where |#1|
+%       is the list of aspects: |{aspects}|\allowbreak|a|\allowbreak
+%       |{#1}|\allowbreak|\lst@NoAlias|\allowbreak|\lstaspectfiles|.
+%
+% \item[0.20] |\lst@DefDriver|\marg{name}\marg{prefix}\meta{interface macro}|\if|\alternative{true,false}
+%
+%       
+%
+% \item[0.21] |\lst@IfRequired|\oarg{sub}\marg{feature}\marg{then}\marg{else}
+%
+%       is used inside a driver file by the aspect, language, or whatever
+%       else defining commands. \meta{then} is executed if and only if
+%       \oarg{sub}\marg{feature} has been requested via |\lst@Require|.
+%       Otherwise \meta{else} is executed---which is also the case for
+%       subsequent calls with the same \oarg{sub}\marg{feature}.
+%
+%       \meta{then} and \meta{else} may use |\lst@prefix| (read access only).
+%
+%       |\lst@BeginAspect| in section \ref{iAspectCommands} and |\lst@DefDriver|
+%       serve as examples.
+% \end{syntax}
+%
+% \begin{macro}{\lst@Require}
+% Initialize variables (if required items aren't empty), \ldots
+%    \begin{macrocode}
+\def\lst@Require#1#2#3#4#5{%
+    \begingroup
+    \aftergroup\lst@true
+    \ifx\@empty#3\@empty\else
+        \def\lst@prefix{#2}\let\lst@require\@empty
+%    \end{macrocode}
+% \ldots\space and for each nonempty item: determine alias and add it to
+% |\lst@require| if it isn't loaded.
+%    \begin{macrocode}
+        \edef\lst@temp{\expandafter\zap@space#3 \@empty}%
+        \lst@for\lst@temp\do{%
+          \ifx\@empty##1\@empty\else \lstKV@OptArg[]{##1}{%
+            #4[####1]{####2}%
+            \@ifundefined{\@lst\lst@prefix @\lst@malias $\lst@oalias}%
+            {\edef\lst@require{\lst@require,\lst@malias $\lst@oalias}}%
+            {}}%
+          \fi}%
+%    \end{macrocode}
+% Init things and input files if and as long as it is necessary.
+%    \begin{macrocode}
+        \global\let\lst@loadaspects\@empty
+        \lst@InputCatcodes
+        \ifx\lst@require\@empty\else
+            \lst@for{#5}\do{%
+                \ifx\lst@require\@empty\else
+                    \InputIfFileExists{##1}{}{}%
+                \fi}%
+        \fi
+%    \end{macrocode}
+% Issue error and call |\lst@false| (after closing the local group) if some
+% items weren't loadable.
+%    \begin{macrocode}
+        \ifx\lst@require\@empty\else
+            \PackageError{Listings}{Couldn't load requested #1}%
+            {The following #1s weren't loadable:^^J\@spaces
+             \lst@require^^JThis may cause errors in the sequel.}%
+            \aftergroup\lst@false
+        \fi
+%    \end{macrocode}
+% Request aspects.
+%    \begin{macrocode}
+        \ifx\lst@loadaspects\@empty\else
+            \lst@RequireAspects\lst@loadaspects
+        \fi
+    \fi
+    \endgroup}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@IfRequired}
+% uses |\lst@IfOneOf| and adds some code to \meta{then} part:
+% delete the now loaded item from the list and define
+% |\lst|\meta{prefix}|@|\meta{feature}|$|\meta{sub}.
+%    \begin{macrocode}
+\def\lst@IfRequired[#1]#2{%
+    \lst@NormedDef\lst@temp{[#1]#2}%
+    \expandafter\lst@IfRequired@\lst@temp\relax}
+\def\lst@IfRequired@[#1]#2\relax#3{%
+    \lst@IfOneOf #2$#1\relax\lst@require
+        {\lst@DeleteKeysIn@\lst@require#2$#1,\relax,%
+         \global\expandafter\let
+             \csname\@lst\lst@prefix @#2$#1\endcsname\@empty
+         #3}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@require}
+%    \begin{macrocode}
+\let\lst@require\@empty
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@NoAlias}
+% just defines |\lst@oalias| and |\lst@malias|.
+%    \begin{macrocode}
+\def\lst@NoAlias[#1]#2{%
+    \lst@NormedDef\lst@oalias{#1}\lst@NormedDef\lst@malias{#2}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@LAS}
+%    \begin{macrocode}
+\gdef\lst@LAS#1#2#3#4#5#6#7{%
+    \lst@Require{#1}{#2}{#3}#4#5%
+    #4#3%
+    \@ifundefined{lst#2@\lst@malias$\lst@oalias}%
+        {\PackageError{Listings}%
+         {#1 \ifx\@empty\lst@oalias\else \lst@oalias\space of \fi
+          \lst@malias\space undefined}%
+         {The #1 is not loadable. \@ehc}}%
+        {#6\csname\@lst#2@\lst@malias $\lst@oalias\endcsname #7}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@RequireAspects}
+% \begin{macro}{\lstloadaspects}
+% make use of the just developped definitions.
+%    \begin{macrocode}
+\def\lst@RequireAspects#1{%
+    \lst@Require{aspect}{asp}{#1}\lst@NoAlias\lstaspectfiles}
+\let\lstloadaspects\lst@RequireAspects
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\lstaspectfiles}
+% This macro is defined if and only if it's undefined yet.
+%    \begin{macrocode}
+\@ifundefined{lstaspectfiles}
+    {\newcommand\lstaspectfiles{lstmisc0.sty,lstmisc.sty}}{}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@DefDriver}
+% Test the next character and reinsert the arguments.
+%    \begin{macrocode}
+\gdef\lst@DefDriver#1#2#3#4{%
+    \@ifnextchar[{\lst@DefDriver@{#1}{#2}#3#4}%
+                 {\lst@DefDriver@{#1}{#2}#3#4[]}}
+%    \end{macrocode}
+% We set |\lst@if| locally true if the item has been requested.
+%    \begin{macrocode}
+\gdef\lst@DefDriver@#1#2#3#4[#5]#6{%
+    \def\lst@name{#1}\let\lst@if#4%
+    \lst@NormedDef\lst@driver{\@lst#2@#6$#5}%
+    \lst@IfRequired[#5]{#6}{\begingroup \lst@true}%
+                           {\begingroup}%
+    \lst@setcatcodes
+    \@ifnextchar[{\lst@XDefDriver{#1}#3}{\lst@DefDriver@@#3}}
+%    \end{macrocode}
+% Note that |\lst@XDefDriver| takes optional `base' arguments, but eventually
+% calls |\lst@DefDriver@@|. We define the item (in case of need), and
+% |\endgroup| resets some catcodes and |\lst@if|, i.e.~|\lst@XXDefDriver| knows
+% whether called by a public or internal command.
+%    \begin{macrocode}
+\gdef\lst@DefDriver@@#1#2{%
+    \lst@if
+        \global\@namedef{\lst@driver}{#1{#2}}%
+    \fi
+    \endgroup
+    \@ifnextchar[\lst@XXDefDriver\@empty}
+%    \end{macrocode}
+% We get the aspect argument, and (if not empty) load the aspects immediately
+% if called by a public command or extend the list of required aspects or
+% simply ignore the argument if the item leaves undefined.
+%    \begin{macrocode}
+\gdef\lst@XXDefDriver[#1]{%
+    \ifx\@empty#1\@empty\else
+        \lst@if
+            \lstloadaspects{#1}%
+        \else
+            \@ifundefined{\lst@driver}{}%
+            {\xdef\lst@loadaspects{\lst@loadaspects,#1}}%
+        \fi
+    \fi}
+%    \end{macrocode}
+% We insert an additional `also'key=value pair.
+%    \begin{macrocode}
+\gdef\lst@XDefDriver#1#2[#3]#4#5{\lst@DefDriver@@#2{also#1=[#3]#4,#5}}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Aspect commands}\label{iAspectCommands}
+%
+% This section contains commands used in defining `\lst-aspects'.
+% \begin{macro}{\lst@UserCommand}
+% is mainly equivalent to |\gdef|.
+%    \begin{macrocode}
+%<!info>\let\lst@UserCommand\gdef
+%<info>\def\lst@UserCommand#1{\message{\string#1,}\gdef#1}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@BeginAspect}
+% A straight-forward implementation:
+%    \begin{macrocode}
+\newcommand*\lst@BeginAspect[2][]{%
+    \def\lst@curraspect{#2}%
+    \ifx \lst@curraspect\@empty
+        \expandafter\lst@GobbleAspect
+    \else
+%    \end{macrocode}
+% If \meta{aspect name} is not empty, there are certain other conditions not to
+% define the aspect (as described in section \ref{dHowToDefineLstAspects}).
+%    \begin{macrocode}
+%<!info>        \let\lst@next\@empty
+%<info>        \def\lst@next{%
+%<info>            \message{^^JDefine lst-aspect `#2':}\lst@GetAllocs}%
+        \lst@IfRequired[]{#2}%
+            {\lst@RequireAspects{#1}%
+             \lst@if\else \let\lst@next\lst@GobbleAspect \fi}%
+            {\let\lst@next\lst@GobbleAspect}%
+        \expandafter\lst@next
+    \fi}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@EndAspect}
+% finishes an aspect definition.
+%    \begin{macrocode}
+\def\lst@EndAspect{%
+    \csname\@lst patch@\lst@curraspect\endcsname
+%<info>    \lst@ReportAllocs
+    \let\lst@curraspect\@empty}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@GobbleAspect}
+% drops all code up to the next |\lst@EndAspect|.
+%    \begin{macrocode}
+\long\def\lst@GobbleAspect#1\lst@EndAspect{\let\lst@curraspect\@empty}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@Key}
+% The command simply defines the key. But we must take care of an optional
+% parameter and the initialization argument |#2|.
+%    \begin{macrocode}
+\def\lst@Key#1#2{%
+%<info>    \message{#1,}%
+    \@ifnextchar[{\lstKV@def{#1}{#2}}%
+                 {\def\lst@temp{\lst@Key@{#1}{#2}}
+                  \afterassignment\lst@temp
+                  \global\@namedef{KV@\@lst @#1}####1}}
+%    \end{macrocode}
+% Now comes a renamed and modified copy from a \packagename{keyval} macro:
+% We need global key definitions.
+%    \begin{macrocode}
+\def\lstKV@def#1#2[#3]{%
+    \global\@namedef{KV@\@lst @#1@default\expandafter}\expandafter
+        {\csname KV@\@lst @#1\endcsname{#3}}%
+    \def\lst@temp{\lst@Key@{#1}{#2}}\afterassignment\lst@temp
+    \global\@namedef{KV@\@lst @#1}##1}
+%    \end{macrocode}
+% We initialize the key if the first token of |#2| is not |\relax|.
+%    \begin{macrocode}
+\def\lst@Key@#1#2{%
+    \ifx\relax#2\@empty\else
+        \begingroup \globaldefs\@ne
+        \csname KV@\@lst @#1\endcsname{#2}%
+        \endgroup
+    \fi}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@UseHook}
+% is very, very, \ldots, very (hundreds of times) easy.
+%    \begin{macrocode}
+\def\lst@UseHook#1{\csname\@lst hk@#1\endcsname}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@AddToHook}
+% \begin{macro}{\lst@AddToHookExe}
+% \begin{macro}{\lst@AddToHookAtTop}
+% All use the same submacro.
+%    \begin{macrocode}
+\def\lst@AddToHook{\lst@ATH@\iffalse\lst@AddTo}
+\def\lst@AddToHookExe{\lst@ATH@\iftrue\lst@AddTo}
+\def\lst@AddToHookAtTop{\lst@ATH@\iffalse\lst@AddToAtTop}
+%    \end{macrocode}
+% If and only if the boolean value is true, the hook material is executed
+% globally.
+%    \begin{macrocode}
+\long\def\lst@ATH@#1#2#3#4{%
+    \@ifundefined{\@lst hk@#3}{%
+%<info>        \message{^^Jnew hook `#3',^^J}%
+        \expandafter\gdef\csname\@lst hk@#3\endcsname{}}{}%
+    \expandafter#2\csname\@lst hk@#3\endcsname{#4}%
+    \def\lst@temp{#4}%
+    #1% \iftrue|false
+        \begingroup \globaldefs\@ne \lst@temp \endgroup
+    \fi}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\lst@AddTo}
+% Note that the definition is global!
+%    \begin{macrocode}
+\long\def\lst@AddTo#1#2{%
+    \expandafter\gdef\expandafter#1\expandafter{#1#2}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@AddToAtTop}
+% We need a couple of |\expandafter|s now. Simply note that we have\\
+%   {\small\hspace*{2em}|\expandafter\gdef\expandafter#1\expandafter{\lst@temp|
+%    $\langle$\textit{contents of }|#1|$\rangle$|}|}\\
+% after the `first phase' of expansion.
+%    \begin{macrocode}
+\def\lst@AddToAtTop#1#2{\def\lst@temp{#2}%
+    \expandafter\expandafter\expandafter\gdef
+    \expandafter\expandafter\expandafter#1%
+    \expandafter\expandafter\expandafter{\expandafter\lst@temp#1}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@lAddTo}
+% A local version of |\lst@AddTo| \ldots
+%    \begin{macrocode}
+\def\lst@lAddTo#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@Extend}
+% \begin{macro}{\lst@lExtend}
+% \ldots\space and here we expand the first token of the second argument first.
+%    \begin{macrocode}
+\def\lst@Extend#1#2{%
+    \expandafter\lst@AddTo\expandafter#1\expandafter{#2}}
+\def\lst@lExtend#1#2{%
+    \expandafter\lst@lAddTo\expandafter#1\expandafter{#2}}
+%    \end{macrocode}
+% \begin{TODO}
+% This should never be changed to
+%    \begin{verbatim}
+%    \def\lst@Extend#1{%
+%        \expandafter\lst@AddTo\expandafter#1\expandafter}
+%    \def\lst@lExtend#1{%
+%        \expandafter\lst@lAddTo\expandafter#1}\end{verbatim}
+% The first is not equivalent in case that the second argument is a single
+% (= non-braced) control sequence, and the second isn't in case of a braced
+% second argument.
+% \end{TODO}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsection{Interfacing with \textsf{keyval}}
+%
+% The \packagename{keyval} package passes the value via the one and only
+% paramater |#1| to the definition part of the key macro. The following
+% commands may be used to analyse the value. Note that we need at least version
+% 1.10 of the \packagename{keyval} package. Note also that the package removes
+% a naming conflict with AMS classes---reported by \lsthelper{Ralf~Quast}
+% {1998/01/08}{\keywords conflicts with AMS classes}.
+% \begingroup
+%    \begin{macrocode}
+\RequirePackage{keyval}[1997/11/10]
+%    \end{macrocode}
+% \endgroup
+%
+% \begin{macro}{\lstKV@TwoArg}
+% \begin{macro}{\lstKV@ThreeArg}
+% \begin{macro}{\lstKV@FourArg}
+% Define temporary macros and call with given arguments |#1|. We add empty
+% arguments for the case that the user doesn't provide enough.
+%    \begin{macrocode}
+\def\lstKV@TwoArg#1#2{\gdef\@gtempa##1##2{#2}\@gtempa#1{}{}}
+\def\lstKV@ThreeArg#1#2{\gdef\@gtempa##1##2##3{#2}\@gtempa#1{}{}{}}
+\def\lstKV@FourArg#1#2{\gdef\@gtempa##1##2##3##4{#2}\@gtempa#1{}{}{}{}}
+%    \end{macrocode}
+% There's one question: What are the global definitions good for? |\lst@Key|
+% might set |\globaldefs| to one and possibly calls this macro. That's the
+% reason why we use global definitions here and below.
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\lstKV@OptArg}
+% We define the temporary macro |\@gtempa| and insert default argument if
+% necessary.
+%    \begin{macrocode}
+\def\lstKV@OptArg[#1]#2#3{%
+    \gdef\@gtempa[##1]##2{#3}\lstKV@OptArg@{#1}#2\@}
+\def\lstKV@OptArg@#1{\@ifnextchar[\lstKV@OptArg@@{\lstKV@OptArg@@[#1]}}
+\def\lstKV@OptArg@@[#1]#2\@{\@gtempa[#1]{#2}}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lstKV@XOptArg}
+% Here |#3| is already a definition with at least two parameters whose first
+% is enclosed in brackets.
+%    \begin{macrocode}
+\def\lstKV@XOptArg[#1]#2#3{%
+    \global\let\@gtempa#3\lstKV@OptArg@{#1}#2\@}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lstKV@CSTwoArg}
+% Just define temporary macro and call it.
+%    \begin{macrocode}
+\def\lstKV@CSTwoArg#1#2{%
+    \gdef\@gtempa##1,##2,##3\relax{#2}%
+    \@gtempa#1,,\relax}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lstKV@SetIf}
+% We simply test the lower case first character of |#1|.
+%    \begin{macrocode}
+\def\lstKV@SetIf#1{\lstKV@SetIf@#1\relax}
+\def\lstKV@SetIf@#1#2\relax#3{\lowercase{%
+    \expandafter\let\expandafter#3%
+        \csname if\ifx #1t}true\else false\fi\endcsname}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lstKV@SwitchCases}
+% is implemented as a substring test.
+%    \begin{macrocode}
+\def\lstKV@SwitchCases#1#2#3{%
+    \def\lst@temp##1\\#1&##2\\##3##4\@nil{%
+        \ifx\@empty##3%
+            #3%
+        \else
+            ##2%
+        \fi
+    }%
+    \lst@temp\\#2\\#1&\\\@empty\@nil}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lstset}
+% Finally this main user interface macro.
+% We change catcodes for reading the argument.
+%    \begin{macrocode}
+\lst@UserCommand\lstset{\begingroup \lst@setcatcodes \lstset@}
+\def\lstset@#1{\endgroup \ifx\@empty#1\@empty\else\setkeys{lst}{#1}\fi}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lst@setcatcodes}
+% contains all catcode changes for |\lstset|. The equal-sign has been added
+% after a bug report by \lsthelper{Bekir~Karaoglu}{2003/09/16}{keyval problems
+% with [turkish]{babel}}---babel's active equal sign clashe