diff options
Diffstat (limited to 'Master')
54 files changed, 46608 insertions, 1 deletions
diff --git a/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format-Journals.bst b/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format-Journals.bst new file mode 100644 index 00000000000..694bee7078e --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/acmart/ACM-Reference-Format-Journals.bst @@ -0,0 +1,3349 @@ +%%% -*-BibTeX-*- +%%% ==================================================================== +%%% @BibTeX-style-file{ +%%% author = "Nelson H. F. Beebe, Boris Veytsman and Gerald Murray", +%%% version = "1.00", +%%% date = "18 January 2012", +%%% time = "11:48 EST", +%%% filename = "ACM-Reference-Format-Journals.bst", +%%% address = "University of Utah +%%% Department of Mathematics, 110 LCB +%%% 155 S 1400 E RM 233 +%%% Salt Lake City, UT 84112-0090 +%%% USA", +%%% telephone = "+1 801 581 5254", +%%% FAX = "+1 801 581 4148", +%%% URL = "http://www.math.utah.edu/~beebe", +%%% checksum = "available here: http://www.acm.org/publications/latex_style/CRC-journals.txt" +%%% email = "beebe@math.utah.edu, beebe@acm.org, +%%% beebe@computer.org, borisv@lk.net, murray@hq.acm.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "ACM Transactions bibliography style; BibTeX", +%%% license = "public domain", +%%% supported = "yes", +%%% abstract = "", +%%% docstring = "The checksum field, above, is produced by WinMD5Free (v1.20) +%%% available from http://www.winmd5.com/?rid=winmd5," +%%% } +%%% ==================================================================== + +% "ACM Transactions" BibTeX style, ACM-Reference-Format-Journals.bst +% for BibTeX version 0.99c, LaTeX version 3.141 +% ACM extensions with code cleaned up, extended, and debugged 10--15-Nov-2008 +% Revised 17-APRIL-2008 (Nelson) +% Revised 13-MARCH-2011 (Boris/Gerry) +% Revised 23-MARCH-2011 (Boris/Gerry) +% Revised 27-MARCH-2011 (Boris/Gerry) +% Revised 15-APRIL-2011 (Boris/Gerry) +% Revised 27-SEPTEMBER-2011 (Boris) +% +% +% History (by Nelson) +% +% Based on 'acmtrans' (for ACM Journals) +% Date: 28th April 2008 +% +% 1. Avoid 'repeating' the 'month' values. +% 2. Avoid incorrectly italicizing the volume number. +% 3. Avoid non italicizing certain titles (book, inproceedings etc). +% 4. NO series if there is NO volume. +% 5. Sorting of reference with first surname. +% 6. Article no added for Inproceedings. +% +% Date: 07th May 2008 +% +% 1. Abbreviation list added +% +% Citation format: [author-last-name year] +% [author-last-name and author-last-name year] +% [author-last-name, author-last-name, and author-last-name year] +% [author-last-name et al. year] +% [author-last-name] +% author-last-name [year] +% [author-last-name and author-last-name] +% [author-last-name et al.] +% [year] or [year,year] +% year or year,year +% +% Reference list ordering: alphabetical by author or whatever passes +% for author in the absence of one. +% +% Features of the old acmtrans.bst: +% ================================= +% +% - all authors appear last name first. +% - all pages are listed xx-xx, (no pp.) and are at the end of the reference +% - publishers are identified as publisher, address +% - conferences papers (inproceedings) may give city of conference, +% date of conference, and journal that the proceedings appear in. +% - months abbreviated to max four letters (eg. Mar.) +% - volume of a series indicated after the title of the series +% - editors appear after edited title and are identified by a trailing "Eds." +% not in parentheses. Editor names are not given in small caps. +% (unless there is no author line) +% - names terminated with a period even if there is no first name. +% - editions are indicated trailing after the work, not in parentheses. +% - "et al." citations have a protected period to avoid bad spacing (jrh) +% - "address" required when publisher given +% - series (roman) and volume are in a sentence separate from (book-)title +% +% +% Features of chicago.bst: +% ======================= +% +% - full names used in citations, but abbreviated citations are available +% (see above) +% - if an entry has a "month", then the month and year are also printed +% as part of that bibitem. +% - all conjunctions use "and" instead of "\&" +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. +% - book, inbook, and manual use "location: publisher" (or organization) +% for address and publisher. All other types list publishers separately. +% - "pp." are used to identify page numbers for all entry types except +% articles. +% - organization is used as a citation label if neither author nor editor +% is present (for manuals). +% - "et al." is used for long author and editor lists, or when "others" +% is used. +% +% Modifications and bug fixes from newapa.bst: +% =========================================== +% +% - added month, year to bib entries if month is present +% - fixed bug with In proceedings, added necessary comma after title +% - all conjunctions changed to "and" from "\&" +% - fixed bug with author labels in my.full.label: "et al." now is +% generated when "others" is an author name +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. Unnecessary (IMHO) "()" around page numbers +% were removed, and page numbers now don't end with a period. +% - created chicago.sty for use with this bibstyle (required). +% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume, +% number, and /or pages. Renamed to format.journal.volume.number. +% - fixed bug in formatting booktitles: additional period an error if +% book has a volume. +% - fixed bug: editors usually given redundant period before next clause +% (format.editors.dot) removed. +% - added label support for organizations, if both author and editor +% are missing (from alpha.bst). If organization is too long, then +% the key field is used for abbreviated citations. +% - In proceedings or books of several volumes, no comma was written +% between the "Volume x" and the page numbers (this was intentional +% in newapa.bst). Fixed. +% - Some journals may not have volumes/numbers, only month/year (eg. +% IEEE Computer). Fixed bug in article style that assumed volume/number +% was always present. +% +% Original documentation for newapa.sty: +% ===================================== +% +% This version was made by modifying the master file made by +% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX +% style of Peter F. Patel-Schneider. +% +% Copyright (C) 1985, all rights reserved. +% Copying of this file is authorized only if either +% (1) you make absolutely no changes to your copy, including name, or +% (2) if you do make changes, you name it something other than 'newapa.bst'. +% There are undoubtably bugs in this style. If you make bug fixes, +% improvements, etc. please let me know. My e-mail address is: +% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com +% +% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst', +% with lots of tweaking to make it look like APA style, along with tips +% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'. +% +% +% Start of ACM-Reference-Format-Journals.bst +% +% Note: Many of the new bibentry 'fields' will only work with the +% 'ACM-Reference-Format-Journals.bst' file. Legacy .bib files (which will, in all probability, +% NOT contain these new fields) will _still_ work with the ACM-Reference-Format-Journals.bst. +% +% +ENTRY + { address + advisor + author + booktitle + chapter + city % jtb: added + date % jtb: added + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + % New keys recognized + issue % UTAH: used in, e.g., ACM SIGSAM Bulletin and ACM Communications in Computer Algebra + articleno + day % UTAH: needed for newspapers, weeklies, bi-weeklies + doi % UTAH + url % UTAH + bookpages % UTAH + numpages + lastaccessed % UTAH: used only for @Misc{...} + coden % UTAH + isbn % UTAH + isbn-13 % UTAH + issn % UTAH + lccn % UTAH + } + {} + { label.year extra.label sort.year sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { show-isbn-10-and-13 } % initialized below in begin.bib + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { multiresult } + +INTEGERS { len } + +INTEGERS { last.extra.num } + +STRINGS { s t t.org u } + +STRINGS { last.label next.extra } + +STRINGS { p1 p2 p3 page.count } + +FUNCTION { dump.stack.1 } +{ + duplicate$ "STACK[top] = [" swap$ * "]" * warning$ +} + +FUNCTION { dump.stack.2 } +{ + duplicate$ "STACK[top ] = [" swap$ * "]" * warning$ + swap$ + duplicate$ "STACK[top-1] = [" swap$ * "]" * warning$ + swap$ +} + +FUNCTION { empty.or.unknown } +{ + %% Examine the top stack entry, and push 1 if it is empty, or + %% consists only of whitespace, or is a string beginning with two + %% queries (??), and otherwise, push 0. + %% + %% This function provides a replacement for empty$, with the + %% convenient feature that unknown values marked by two leading + %% queries are treated the same as missing values, and thus, do not + %% appear in the output .bbl file, and yet, their presence in .bib + %% file(s) serves to mark values which are temporarily missing, but + %% are expected to be filled in eventually once more data is + %% obtained. The TeX User Group and BibNet bibliography archives + %% make extensive use of this practice. + %% + %% An empty string cannot serve the same purpose, because just as in + %% statistics data processing, an unknown value is not the same as an + %% empty value. + %% + %% At entry: stack = ... top:[string] + %% At exit: stack = ... top:[0 or 1] + + duplicate$ empty$ + { pop$ #1 } + { #1 #2 substring$ "??" = } + if$ +} + +FUNCTION { writeln } +{ + %% In BibTeX style files, the sequences + %% + %% ... "one" "two" output + %% ... "one" "two" output.xxx + %% + %% ship "one" to the output file, possibly following by punctuation, + %% leaving the stack with + %% + %% ... "two" + %% + %% There is thus a one-string lag in output processing that must be + %% carefully handled to avoid duplicating a string in the output + %% file. Unless otherwise noted, all output.xxx functions leave + %% just one new string on the stack, and that model should be born + %% in mind when reading or writing function code. + %% + %% BibTeX's asynchronous buffering of output from strings from the + %% stack is confusing because newline$ bypasses the buffer. It + %% would have been so much easier for newline to be a character + %% rather than a state of the output-in-progress. + %% + %% The documentation in btxhak.dvi is WRONG: it says + %% + %% newline$ Writes onto the bbl file what's accumulated in the + %% output buffer. It writes a blank line if and only + %% if the output buffer is empty. Since write$ does + %% reasonable line breaking, you should use this + %% function only when you want a blank line or an + %% explicit line break. + %% + %% write$ Pops the top (string) literal and writes it on the + %% output buffer (which will result in stuff being + %% written onto the bbl file when the buffer fills + %% up). + %% + %% Examination of the BibTeX source code shows that write$ does + %% indeed behave as claimed, but newline$ sends a newline character + %% directly to the output file, leaving the stack unchanged. The + %% first line "Writes onto ... buffer." is therefore wrong. + %% + %% The original BibTeX style files almost always use "write$ newline$" + %% in that order, so it makes sense to hide that pair in a private + %% function like this one, named after a statement in Pascal, + %% the programming language embedded in the BibTeX Web program. + + write$ % output top-of-stack string + newline$ % immediate write of newline (not via stack) +} + +FUNCTION { init.state.consts } +{ + #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +FUNCTION { output.nonnull } +{ % Stack in: ... R S T Stack out: ... R T File out: S<comma><space> + 's := + output.state mid.sentence = + { + ", " * write$ + } + { + output.state after.block = + { + add.period$ writeln + "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.dot.space } +{ % Stack in: ... R S T Stack out: ... R T File out: S<dot><space> + 's := + output.state mid.sentence = % { "<DEBUG output.nonnull.dot.space>. " * write$ } + { + ". " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.remove } +{ % Stack in: ... R S T Stack out: ... R T File out: S<space> + 's := + output.state mid.sentence = + { + " " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.removenospace } +{ % Stack in: ... R S T Stack out: ... R T File out: S + 's := + output.state mid.sentence = + { + "" * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output } +{ % discard top token if empty, else like output.nonnull + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION { output.dot.space } +{ % discard top token if empty, else like output.nonnull.dot.space + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.dot.space + if$ +} + +FUNCTION { output.removenospace } +{ % discard top token if empty, else like output.nonnull.removenospace + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.removenospace + if$ +} + +FUNCTION { output.check } +{ % like output, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION { output.check.dot.space } +{ % like output.dot.space, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.dot.space + if$ +} + +FUNCTION { fin.block } +{ % functionally, but not logically, identical to fin.entry + add.period$ + writeln +} + +FUNCTION { fin.entry } +{ + add.period$ + writeln +} + +FUNCTION { new.sentence } +{ % update sentence state, with neither output nor stack change + output.state after.block = + 'skip$ + { + output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION { fin.sentence } +{ + add.period$ + write$ + new.sentence + "" +} + +FUNCTION { new.block } +{ + output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION { output.coden } % UTAH +{ % output non-empty CODEN as one-line sentence (stack untouched) + coden empty.or.unknown + { } + { "\showCODEN{" coden * "}" * writeln } + if$ +} + +FUNCTION { format.articleno } +{ + articleno empty.or.unknown + { "" } + { + numpages empty.or.unknown + { "articleno field, but no numpages field, in " cite$ * warning$ } + { } + if$ + "Article " articleno * + } + if$ +} + +FUNCTION { format.year } +{ % push year string or "????" onto output stack + %% Because year is a mandatory field, we always force SOMETHING + %% to be output + year empty.or.unknown + { "????" } + { year } + if$ +} + +FUNCTION { format.day.month } +{ % push "day month " or "month " or "" onto output stack + day empty.or.unknown + { + month empty.or.unknown + { "" } + { month " " *} + if$ + } + { + month empty.or.unknown + { "" } + { day " " * month * " " *} + if$ + } + if$ +} + +FUNCTION { format.day.month.year } % UTAH +{ % if month is empty, push "" else push "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + % acm-*.bst addition: prefix parenthesized date string with + % ", Article nnn " + articleno empty.or.unknown + { "" } + { ", " format.articleno * } + if$ + " (" * format.day.month * format.year * ")" * +} + +FUNCTION { output.day.month.year } % UTAH +{ % if month is empty value, do nothing; else output stack top and + % leave with new top string "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + format.day.month.year + output.nonnull.remove +} + +FUNCTION { strip.doi } % UTAH +{ % Strip any Web address prefix to recover the bare DOI, leaving the + % result on the output stack, as recommended by CrossRef DOI + % documentation. + % For example, reduce "http://doi.acm.org/10.1145/1534530.1534545" to + % "10.1145/1534530.1534545". That is later typeset and displayed as + % doi:10.1145/1534530.1534545 as the LAST item in the reference list + % entry. Publisher Web sites wrap this with a suitable link to a real + % URL to resolve the DOI, and the master http://dx.doi.org/ address is + % preferred, since publisher-specific URLs can disappear in response + % to economic events. All journals are encouraged by the DOI + % authorities to use that typeset format and link procedures for + % uniformity across all publications that include DOIs in reference + % lists. + % The numeric prefix is guaranteed to start with "10.", so we use + % that as a test. + doi #1 #3 substring$ "10." = + { doi } + { + doi #1 #7 substring$ "http://" = + { + doi #8 doi text.length$ #7 - substring$ 't := % get modifiable copy of rest of DOI + + "INTERNAL STYLE-FILE ERROR" 's := + + % search for next "/" and assign its suffix to s + + { t text.length$ } + { + t #1 #1 substring$ "/" = + { + % save rest of string as true DOI (should be 10.xxxx/yyyy) + t #2 t text.length$ #1 - substring$ 's := + "" 't := % empty string t terminates the loop + } + { + % discard first character and continue loop: t <= substring(t,2,last) + t #2 t text.length$ #1 - substring$ 't := + } + if$ + } + while$ + + % check for valid DOI (should be 10.xxxx/yyyy) + s #1 #3 substring$ "10." = + { } + { "unrecognized DOI substring " s * " in DOI value [" * doi * "]" * warning$ } + if$ + + s % push the stripped DOI on the output stack + + } + { + "unrecognized DOI value [" doi * "]" * warning$ + doi % push the unrecognized original DOI on the output stack + } + if$ + } + if$ +} + +% +% Change by BV: added standard prefix to URL +% +FUNCTION { output.doi } % UTAH +{ % output non-empty DOI as one-line sentence (stack untouched) + doi empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which then requires + %% manual (or automated) editing of the .bbl file to repair. + %% The \url{} macro strips percent-newlines, and is thus safe in + %% the presence of the line wrapping, but \path|...| and + %% \verb|...| do not. + "\showDOI{%" writeln + "\url{http://dx.doi.org/" strip.doi * "}}" * writeln + } + if$ +} + +FUNCTION { output.isbn } % UTAH +{ % output non-empty ISBN-10 and/or ISBN-13 as one-line sentences (stack untouched) + show-isbn-10-and-13 + { + %% show both 10- and 13-digit ISBNs + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + isbn-13 empty.or.unknown + { } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + { + %% show 10-digit ISBNs only if 13-digit ISBNs not available + isbn-13 empty.or.unknown + { + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + if$ +} + +FUNCTION { output.issn } % UTAH +{ % output non-empty ISSN as one-line sentence (stack untouched) + issn empty.or.unknown + { } + { "\showISSN{" issn * "}" * writeln } + if$ +} + +FUNCTION { output.issue } +{ % output non-empty issue number as a one-line sentence (stack untouched) + issue empty.or.unknown + { } + { "Issue " issue * "." * writeln } + if$ +} + +FUNCTION { output.lccn } % UTAH +{ % return with stack untouched + lccn empty.or.unknown + { } + { "\showLCCN{" lccn * "}" * writeln } + if$ +} + +FUNCTION { output.note } % UTAH +{ % return with stack empty + note empty.or.unknown + { } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +FUNCTION { output.note.check } % UTAH +{ % return with stack empty + note empty.or.unknown + { "empty note in " cite$ * warning$ } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +% +% Changes by BV 2011/04/15. Do not output +% url if doi is defined +% +FUNCTION { output.url } % UTAH +{ % return with stack untouched + % output URL and associated lastaccessed fields + doi empty.or.unknown + { + url empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which would require + %% manual (or automated) editing of the .bbl file to repair. However, + %% the \url{} macro handles the unwrapping job automatically. + "\showURL{%" writeln + lastaccessed empty.or.unknown + { "" } + { "Retrieved " lastaccessed * " from " * } + if$ + + %% The URL field may contain a semicolon-separated list of Web + %% addresses, and we locate and wrap each of them in \url{...}. + %% The simplistic approach of putting the entire list into the + %% macro argument is that the semicolons are typeset in a + %% typewriter font, and no space follows them. + %% + %% We therefore replace the original code + %% "\url{" * url * "}}" * writeln + %% with this character-at-a-time loop: + + "\url{" * + + url 't := % get modifiable copy of URL list + + { t text.length$ } + { + t #1 #1 substring$ ";" = + { % then split argument at separator + "};" * writeln + "\url{" + } + { % else concatenate nonblank character to argument + t #1 #1 substring$ " " = + { } + { t #1 #1 substring$ * } + if$ + } + if$ + + t #2 t text.length$ #1 - substring$ 't := + } + while$ + + "}}" * writeln + } + if$ + } + { } + if$ +} + +FUNCTION { output.year.check } +{ % warn if year empty, else output top string and leave " YEAR<label>" on stack in mid-sentence + year empty.or.unknown + { "empty year in " cite$ * warning$ } + { write$ + " " year * extra.label * + mid.sentence 'output.state := + } + if$ +} + +FUNCTION { not } +{ + { #0 } + { #1 } + if$ +} + +FUNCTION { and } +{ + 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION { or } +{ + { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION { le } +{ + %% test whether first number is less than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 <= n2 then 1 else 0 + + %% "DEBUG: le " cite$ * warning$ + > { #0 } { #1 } if$ +} + +FUNCTION { ge } +{ + %% test whether first number is greater than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 >= n2 then 1 else 0 + + %% "DEBUG: ge " cite$ * warning$ + < { #0 } { #1 } if$ +} + +FUNCTION { is.leading.digit } +{ + %% test whether first character of string is a digit + %% stack in: string + %% stack out: if first-char-is-digit then 1 else 0 + + #1 #1 substring$ % replace string by string[1:1] + duplicate$ % string[1:1] string[1:1] + chr.to.int$ + "0" chr.to.int$ swap$ le % "0" <= string[1:1] --> 0-or-1 + swap$ % 0-or-1 string[1:1] + chr.to.int$ + "9" chr.to.int$ le % string[1:1} <= "9" --> 0-or-1 + and +} + +FUNCTION { skip.digits } +{ + %% skip over leading digits in string + %% stack in: string + %% stack out: rest-of-string leading-digits + + %% "DEBUG: enter skip.digits " cite$ * warning$ + + %% dump.stack.1 + + duplicate$ + 't := + 't.org := + "" 'u := + + { t text.length$ } + { + %% "=================DEBUG: skip.digits t = [" t * "]" * warning$ + t is.leading.digit + { t #2 t text.length$ #1 - substring$ } + { + t 'u := + "" + } + if$ + 't := + } + while$ + + u % rest of string + t.org #1 t.org text.length$ u text.length$ - substring$ % leading digits + + %% "DEBUG: t.org = [" t.org * "]" * warning$ + %% "DEBUG: u = [" u * "]" * warning$ + + %% dump.stack.2 + + %% "DEBUG: leave skip.digits " cite$ * warning$ +} + +FUNCTION { skip.nondigits } +{ + %% skip over leading nondigits in string + %% stack in: string + %% stack out: rest-of-string + + %% "DEBUG: enter skip.nondigits " cite$ * warning$ + + 't := + "" 'u := + + { t text.length$ } + { + %% "=================DEBUG: skip.nondigits t = [" t * "]" * warning$ + t is.leading.digit + { + t 'u := + "" + } + { t #2 t text.length$ #1 - substring$ } + if$ + 't := + } + while$ + + u % rest of string + + %% dump.stack.1 + %% "DEBUG: leave skip.nondigits " cite$ * warning$ +} + +FUNCTION { parse.next.number } +{ + %% stack in: string + %% stack out: rest-of-string next-numeric-part-of-string + %% Example: + %% stack in: "123:1--123:59" + %% stack out: ":1--123:59" "123" + + 's := + s skip.nondigits 's := + s skip.digits +} + +FUNCTION { reduce.pages.to.page.count } +{ + %% Stack in: arbitrary-and-unused + %% Stack out: unchanged + %% + %% For the new-style pagination with article number and numpages or + %% pages, we expect to have BibTeX entries containing something like + %% articleno = "17", + %% pages = "1--23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% numpages = "23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% pages = "17:1--17:23", + %% with output "Article 17, 23 pages", + %% + %% If articleno is missing or empty, then we should output "1--23", + %% "23" (with a warning of a missing articleno), or "17:1--17:23", + %% respectively. + + %% "DEBUG: enter reduce.pages.to.page.count " cite$ * warning$ + + %% "DEBUG: pages = [" pages * "]" * warning$ + + pages + parse.next.number 'p1 := + parse.next.number 'p2 := + parse.next.number 'p3 := + parse.next.number 'page.count := + + duplicate$ + empty.or.unknown + { } + { + duplicate$ "unexpected trailing garbage [" swap$ * + "] after n:p1--n:p2 in pages = [" * + pages * + "] in " * + cite$ * + warning$ + } + if$ + + pop$ + + %% "DEBUG: reduce.pages.to.page.count: " + %% " p1 = " p1 * * + %% " p2 = " p2 * * + %% " p3 = " p3 * * + %% " p4 = " page.count * * + %% " in " cite$ * * warning$ + + p1 p3 = p2 "1" = and numpages empty.or.unknown and + { "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + p1 "1" = p3 empty.or.unknown and numpages empty.or.unknown and + { + p2 'page.count := + "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ + } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + %% "DEBUG: leave reduce.pages.to.page.count " cite$ * warning$ +} + +FUNCTION { new.block.checkb } +{ % issue a new.block only if at least one of top two stack strings is not empty + empty.or.unknown + swap$ empty.or.unknown + and + 'skip$ + 'new.block + if$ +} + +FUNCTION { field.or.null } +{ % convert empty value to null string, else return value + duplicate$ empty.or.unknown + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION { emphasize } +{ % emphasize a non-empty top string on the stack (WITHOUT italic correction) + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION { emphasize.with.italic.correction } +{ % convert empty string to null string, or emphasize with a trailing italic correction + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} + +FUNCTION { comma } +{ % convert empty string to null string, or brace string and add trailing comma + duplicate$ empty.or.unknown + { pop$ "" } + { "{" swap$ * "}," * } + if$ +} + +FUNCTION { format.names } +{ + % Format bibliographical entries with the first author last name first, + % and subsequent authors with initials followed by last name. + % All names are formatted in this routine. + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 = + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + {"{" s nameptr "{ff }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + {"{" s nameptr "{ff }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + if$ + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{\sc others}" = + { " {et~al\mbox{.}}" * } % jrh: avoid spacing problems + { " {and} " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { my.full.label } +{ + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ + +} + +FUNCTION { format.names.fml } +{ + % Format names in "familiar" format, with first initial followed by + % last name. Like format.names, ALL names are formatted. + % jtb: The names are NOT put in small caps + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { + "{" s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ * "}" * 't := + + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{others}" = + { " {et~al\mbox{.}}" * } + { " {and} " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { format.authors } +{ + author empty.or.unknown + { "" } + { author format.names add.period$} % jtb: add period if none before + if$ +} + +FUNCTION { format.key } +{ + empty.or.unknown + { key field.or.null } + { "" } + if$ +} + +FUNCTION { format.no.key } +{ + empty.or.unknown + { "" } + { "" } + if$ +} + +FUNCTION { format.editors.fml } +{ + % Format editor names for use in the "in" types: inbook, incollection, + % inproceedings: first initial, then last names. When editors are the + % LABEL for an entry, then format.editor is used which lists editors + % by last name first. + + editor empty.or.unknown + { "" } + { + editor format.names.fml editor num.names$ #1 > + { " (Eds.)" * } + { " (Ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.editors } +{ % format editor names for use in labels, last names first. + editor empty.or.unknown + { "" } + { + editor format.names + editor num.names$ #1 > + { " (Eds.)." * } + { " (Ed.)." * } + if$ + } + if$ +} + +FUNCTION { format.articletitle } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { "\showarticletitle{" title * "}" * } + % Use this for downcase title style: + % { \showarticletitle{" title "t" change.case$ * "}" * } + if$ +} + +FUNCTION { format.title } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { title } + % Use this for downcase title style: + % { title "t" change.case$ } + if$ +} + +FUNCTION { n.dashify } +{ + 't := + "" + { t empty.or.unknown not } + { + t #1 #1 substring$ "-" = + { + t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { + { t #1 #1 substring$ "-" = } + { + "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { + t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION { format.btitle } +{ + edition empty.or.unknown + { title emphasize } + { title empty.or.unknown + { title emphasize } % jtb: what is this supposed to do ?!? + { "{\em " title * "\/} (" * edition "l" change.case$ * " ed.)" * } % jtb: no parens for ed. + if$ + } + if$ +} + +FUNCTION { format.emphasize.booktitle } +{ % push "" or "{\em booktitle}" or "{\em booktitle}, (second ed.)" on stack + edition empty.or.unknown + { booktitle emphasize } + { booktitle empty.or.unknown + { "" } + { "{\em " booktitle * "} (" * edition "l" change.case$ * " ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.city } +{ + % jtb: if the preceding string (the title of the conference) is non-empty, + % jtb: append the location, otherwise leave empty (so as to trigger the + % jtb: error message in output.check + + duplicate$ empty.or.unknown + { } + { + city empty.or.unknown + { + date empty.or.unknown + { } + { " (" * date * ")" * } + if$ + } + { + date empty.or.unknown + { " (" * city * ")" * } + { " (" * city * ", " * date * ")" * } + if$ + } + if$ + } + if$ +} + +FUNCTION { tie.or.space.connect } +{ + duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION { either.or.check } +{ + empty.or.unknown + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION { format.bvolume } +{ + % jtb: If there is a series, this is added and the volume trails after it. + % jtb: Otherwise, "Vol" is Capitalized. + + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.bvolume.noseries } +{ + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { "Vol." volume tie.or.space.connect} +% { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.series } +{ + series empty.or.unknown + {""} + {" {\em (" * series ")}" *} + if$ +} + +FUNCTION { format.number.series } +{ + volume empty.or.unknown + { + number empty.or.unknown + { + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "" } + { " (" series * ")" * } + if$ + } + if$ + } % { series field.or.null } + { + output.state mid.sentence = + { "Number" } % gnp - changed to mixed case always + { "Number" } + if$ + number tie.or.space.connect series empty.or.unknown + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { + "" + } + if$ +} + +FUNCTION { multi.page.check } +{ + 't := + #0 'multiresult := + { multiresult not + t empty.or.unknown not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION { format.pages } +{ + pages empty.or.unknown + { "" } + { + pages multi.page.check + { pages n.dashify } % gnp - removed () % jtb: removed pp. + { pages } + if$ + } + if$ +} + +FUNCTION { format.pages.check.without.articleno } +{ %% format pages field only if articleno is absent + %% Stack out: pages-specification + numpages missing$ pages missing$ and + { "page numbers missing in both pages and numpages fields in " cite$ * warning$ } + { } + if$ + + articleno empty.or.unknown + { + pages missing$ + { numpages } + { format.pages } + if$ + } + { "" } + if$ +} + +FUNCTION { format.pages.check } +{ + pages empty.or.unknown + { "page numbers missing in " cite$ * warning$ "" } + { pages n.dashify } + if$ +} + +FUNCTION { format.bookpages } +{ + bookpages empty.or.unknown + { "" } + { bookpages "book pages" tie.or.space.connect } + if$ +} + +FUNCTION { format.named.pages } +{ + pages empty.or.unknown + { "" } + { format.pages "pages" tie.or.space.connect } + if$ +} + +% +% Changed by Boris Veytsman, 2011-03-13 +% Now the word "pages" is printed even if +% there field pages is not empty. +% + +FUNCTION { format.page.count } +{ + page.count empty.or.unknown + { "" } + { + articleno empty.or.unknown + { "numpages field, but no articleno field, in " cite$ * warning$ } + { } + if$ + page.count "pages" tie.or.space.connect + } + if$ +} + +FUNCTION { format.articleno.numpages } +{ + %% There are seven possible outputs, depending on which fields are set. + %% + %% These four are handled here: + %% + %% articleno, numpages, pages -> "Article articleno-value, numpages-value pages" + %% articleno, numpages -> "Article articleno-value, numpages-value pages" + %% articleno, pages -> "Article articleno-value, reduced-pages-value pages" + %% articleno -> "Article articleno-value" and warn about missing numpages + %% + %% The remaining three have already been handled by + %% format.pages.check.without.articleno: + %% + %% numpages, pages -> "pages-value" + %% numpages -> "numpages-value" + %% pages -> "pages-value" + + articleno empty.or.unknown + { + numpages empty.or.unknown + { } + { "require articleno with numpages field in " cite$ * warning$ } + if$ + "" + } + { + numpages empty.or.unknown + { + pages empty.or.unknown + { + "require pages or numpages fields with articleno field in " cite$ * warning$ + "" 'page.count := + } + { reduce.pages.to.page.count } + if$ + } + { numpages 'page.count := } + if$ + + %% The Article number is now handled in format.day.month.year because + %% ACM prefers the style "Digital Libraries 12, 3, Article 5 (July 2008)" + %% over "Digital Libraries 12, 3 (July 2008), Article 5" + %% format.articleno output + format.page.count + } + if$ +} + +FUNCTION { format.journal.volume.number.day.month.year } +{ + % By Young (and Spencer) + % GNP - fixed bugs with missing volume, number, and/or pages + % + % Format journal, volume, number, pages for article types. + % + journal empty.or.unknown + { "no journal in " cite$ * warning$ + "" } +% { journal emphasize.with.italic.correction } + { + journal "Journal of the ACM" = + { "{\it J. ACM}" } + { + journal "American Mathematical Society Translations" = + { "{\it Amer. Math. Soc. Transl.}" } + { + journal "Bulletin of the American Mathematical Society" = + { "{\it Bull. Amer. Math. Soc.}" } + { + journal "Proceedings of the American Mathematical Society" = + { "{\it Proc. Amer. Math. Soc.}" } + { + journal "Transactions of the American Mathematical Society" = + { "{\it Trans. Amer. Math. Soc.}" } + { + journal "Communications of the {ACM}" = + { "{\it Commun. {ACM}}" } + { + journal "{ACM} Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "{ACM} Transactions on Mathematical Software" = + { "{\it {ACM} Trans. Math. Software}" } + { + journal "{ACM} {SIGNUM} Newsletter" = + { "{\it {ACM} {SIGNUM} Newslett.}" } + { + journal "American Journal of Sociology" = + { "{\it Amer. J. Sociology}" } + { + journal "Journal of the American Statistical Association" = + { "{\it J. Amer. Statist. Assoc.}" } + { + journal "Applied Mathematics and Computation" = + { "{\it Appl. Math. Comput.}" } + { + journal "American Mathematical Monthly" = + { "{\it Amer. Math. Monthly}" } + { + journal "British Journal of Mathematical and Statistical Psychology" = + { "{\it Brit. J. Math. Statist. Psych.}" } + { + journal "Canadian Mathematical Bulletin" = + { "{\it Canad. Math. Bull.}" } + { + journal "Journal of Computational and Applied Mathematics" = + { "{\it J. Comput. Appl. Math.}" } + { + journal "Journal of Computational Physics" = + { "{\it J. Comput. Phys.}" } + { + journal "Computers and Structures" = + { "{\it Comput. \& Structures}" } + { + journal "The Computer Journal" = + { "{\it Comput. J.}" } + { + journal "Journal of Computer and System Sciences" = + { "{\it J. Comput. System Sci.}" } + { + journal "Contemporary Mathematics" = + { "{\it Contemp. Math.}" } + { + journal "Crelle's Journal" = + { "{\it Crelle's J.}" } + { + journal "Giornale di Mathematiche" = + { "{\it Giorn. Mat.}" } + { + journal "{IEEE} Transactions on Computers" = + { "{\it {IEEE} Trans. Comput.}" } + { + journal "{IEEE} Transactions on Automatic Control" = + { "{\it {IEEE} Trans. Automat. Control}" } + { + journal "Proceedings of the {IEEE}" = + { "{\it Proc. {IEEE}}" } + { + journal "{IEEE} Transactions on Aerospace and Electronic Systems" = + { "{\it {IEEE} Trans. Aerospace Electron. Systems}" } + { + journal "{IMA} Journal of Numerical Analysis" = + { "{\it {IMA} J. Numer. Anal.}" } + { + journal "Information Processing Letters" = + { "{\it Inform. Process. Lett.}" } + { + journal "Journal of the Institute of Mathematics and its Applications" = + { "{\it J. Inst. Math. Appl.}" } + { + journal "International Journal of Control" = + { "{\it Internat. J. Control}" } + { + journal "International Journal for Numerical Methods in Engineering" = + { "{\it Internat. J. Numer. Methods Engrg.}" } + { + journal "International Journal of Supercomputing Applications" = + { "{\it Internat. J. Supercomputing Applic.}" } + { + journal "Journal of Research of the National Bureau of Standards" = + { "{\it J. Res. Nat. Bur. Standards}" } + { + journal "Linear Algebra and its Applications" = + { "{\it Linear Algebra Appl.}" } + { + journal "Journal of Mathematical Analysis and Applications" = + { "{\it J. Math. Anal. Appl.}" } + { + journal "Mathematische Annalen" = + { "{\it Math. Ann.}" } + { + journal "Journal of Mathematical Physics" = + { "{\it J. Math. Phys.}" } + { + journal "Mathematics of Computation" = + { "{\it Math. Comp.}" } + { + journal "Mathematica Scandinavica" = + { "{\it Math. Scand.}" } + { + journal "Mathematical Tables and Other Aids to Computation" = + { "{\it Math. Tables Aids Comput.}" } + { + journal "Numerische Mathematik" = + { "{\it Numer. Math.}" } + { + journal "Pacific Journal of Mathematics" = + { "{\it Pacific J. Math.}" } + { + journal "Journal of Parallel and Distributed Computing" = + { "{\it J. Parallel and Distrib. Comput.}" } + { + journal "Parallel Computing" = + { "{\it Parallel Comput.}" } + { + journal "Philosophical Magazine" = + { "{\it Philos. Mag.}" } + { + journal "Proceedings of the National Academy of Sciences of the USA" = + { "{\it Proc. Nat. Acad. Sci. U. S. A.}" } + { + journal "Quarterly Journal of Mathematics, Oxford, Series (2)" = + { "{\it Quart. J. Math. Oxford Ser. (2)}" } + { + journal "Quarterly of Applied Mathematics" = + { "{\it Quart. Appl. Math.}" } + { + journal "Review of the International Statisical Institute" = + { "{\it Rev. Inst. Internat. Statist.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics" = + { "{\it J. Soc. Indust. Appl. Math.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics, Series B, Numerical Analysis" = + { "{\it J. Soc. Indust. Appl. Math. Ser. B Numer. Anal.}" } + { + journal "{SIAM} Journal on Algebraic and Discrete Methods" = + { "{\it {SIAM} J. Algebraic Discrete Methods}" } + { + journal "{SIAM} Journal on Applied Mathematics" = + { "{\it {SIAM} J. Appl. Math.}" } + { + journal "{SIAM} Journal on Computing" = + { "{\it {SIAM} J. Comput.}" } + { + journal "{SIAM} Journal on Matrix Analysis and Applications" = + { "{\it {SIAM} J. Matrix Anal. Appl.}" } + { + journal "{SIAM} Journal on Numerical Analysis" = + { "{\it {SIAM} J. Numer. Anal.}" } + { + journal "{SIAM} Review" = + { "{\it {SIAM} Rev.}" } + { + journal "{SIAM} Journal on Scientific and Statistical Computing" = + { "{\it {SIAM} J. Sci. Statist. Comput.}" } + { + journal "Software Practice and Experience" = + { "{\it Software Prac. Experience}" } + { + journal "Statistical Science" = + { "{\it Statist. Sci.}" } + { + journal "{USSR} Computational Mathematics and Mathematical Physics" = + { "{\it {U. S. S. R.} Comput. Math. and Math. Phys.}" } + { + journal "Journal of {VLSI} and Computer Systems" = + { "{\it J. {VLSI} Comput. Syst.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Mechanik" = + { "{\it Z. Angew. Math. Mech.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Physik" = + { "{\it Z. Angew. Math. Phys.}" } + { + journal "ACM Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "ACM Transactions on Mathematical Software" = + { "{\it ACM Trans. Math. Software}" } + { + journal "ACM {SIGNUM} Newsletter" = + { "{\it ACM {SIGNUM} Newslett.}" } + { + journal "IEEE Transactions on Computers" = + { "{\it IEEE Trans. Comput.}" } + { + journal "IEEE Transactions on Automatic Control" = + { "{\it IEEE Trans. Automat. Control}" } + { + journal "Proceedings of the IEEE" = + { "{\it Proc. IEEE}" } + { + journal "IEEE Transactions on Aerospace and Electronic Systems" = + { "{\it IEEE Trans. Aerospace Electron. Systems}" } + { + journal "IMA Journal of Numerical Analysis" = + { "{\it IMA J. Numer. Anal.}" } + { + journal "SIAM Journal on Algebraic and Discrete Methods" = + { "{\it SIAM J. Algebraic Discrete Methods}" } + { + journal "SIAM Journal on Applied Mathematics" = + { "{\it SIAM J. Appl. Math.}" } + { + journal "SIAM Journal on Computing" = + { "{\it SIAM J. Comput.}" } + { + journal "SIAM Journal on Matrix Analysis and Applications" = + { "{\it SIAM J. Matrix Anal. Appl.}" } + { + journal "SIAM Journal on Numerical Analysis" = + { "{\it SIAM J. Numer. Anal.}" } + { + journal "SIAM Review" = + { "{\it SIAM Rev.}" } + { + journal "SIAM Journal on Scientific and Statistical Computing" = + { "{\it SIAM J. Sci. Statist. Comput.}" } + { + journal "USSR Computational Mathematics and Mathematical Physics" = + { "{\it U. S. S. R. Comput. Math. and Math. Phys.}" } + { + journal "Journal of VLSI and Computer Systems" = + { "{\it J. VLSI Comput. Syst.}" } + { + journal "Communications of the ACM" = + { "{\it Commun. ACM}" } + %% If no match with cases needing special handling, just output journal name + { journal emphasize.with.italic.correction } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + + number empty.or.unknown + { + volume empty.or.unknown + { "no number and no volume in " cite$ * warning$ "" * } + { " " * " {" * volume * "}" * } + if$ + } + { + volume empty.or.unknown + { + "unusual to have number, but no volume, for " cite$ * warning$ + " " * number * + } + { " " * volume comma " " * number * * } + if$ + } + if$ + + format.day.month.year * +} + +FUNCTION { format.chapter.pages } +{ + chapter empty.or.unknown + 'format.pages + { type empty.or.unknown + { "Chapter" } % gnp - changed to mixed case + { type "t" change.case$ } + if$ + chapter tie.or.space.connect + pages empty.or.unknown + {"page numbers missing in " cite$ * warning$} % gnp - added check + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION { format.in.emphasize.booktitle } +{ % jtb: format for collections or proceedings not appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " format.emphasize.booktitle * } + if$ +} + +FUNCTION { format.in.booktitle } +{ % jtb: format for proceedings appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " booktitle * } + if$ +} + +FUNCTION { format.in.ed.booktitle } +{ + booktitle empty.or.unknown + { "" } + { editor empty.or.unknown + { "In " format.emphasize.booktitle * } + % jtb: swapped editor location + { "In " format.emphasize.booktitle * ", " * format.editors.fml * } + if$ + } + if$ +} + +FUNCTION { format.thesis.type } +{ % call with default type on stack top + type empty.or.unknown + 'skip$ % use default type + { + pop$ % discard default type + % NO: it is silly to have to brace protect every degree type!: type "t" change.case$ + type + } + if$ +} + +FUNCTION { format.tr.number } +{ + type empty.or.unknown +% { "Tech. Rep." } + { "{T}echnical {R}eport" } % ACM wants it explicit (Gerry 9/28) + 'type + if$ + number empty.or.unknown + { "t" change.case$ } + %% LOOKS BAD: { "." * number tie.or.space.connect } + %% Prefer "Research report RJ687." to "Research report. RJ687." + { number tie.or.space.connect } + if$ +} + +FUNCTION { format.advisor } +{ + advisor empty.or.unknown + { "" } + { "Advisor(s) " advisor * } + if$ +} + +FUNCTION { format.article.crossref } +{ "See" + "\citeN{" * crossref * "}" * +} + +FUNCTION { format.crossref.editor } +{ + editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al\mbox{.}" * } % jrh: avoid spacing problems + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION { format.book.crossref } +{ + volume empty.or.unknown + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect % gnp - changed to mixed case + " of " * + } + if$ + editor empty.or.unknown + editor field.or.null author field.or.null = + or + { key empty.or.unknown + { series empty.or.unknown + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \citeN{" * crossref * "}" * +} + +FUNCTION { format.incoll.inproc.crossref } +{ "See" + " \citeN{" * crossref * "}" * +} + +FUNCTION { format.lab.names } +{ + % format.lab.names: + % + % determines "short" names for the abbreviated author information. + % "Long" labels are created in calc.label, using the routine my.full.label + % to format author and editor fields. + % + % There are 4 cases for labels. (n=3 in the example) + % a) one author Foo + % b) one to n Foo, Bar and Baz + % c) use of "and others" Foo, Bar et al. + % d) more than n Foo et al. + + 's := + s num.names$ 'numnames := + numnames #2 > % change number to number of others allowed before + % forcing "et al". + { s #1 "{vv~}{ll}" format.name$ " et~al\mbox{.}" * } % jrh: \mbox{} added + { + numnames #1 - 'namesleft := + #2 'nameptr := + s #1 "{vv~}{ll}" format.name$ + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + } + { ", " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } + if$ +} + +FUNCTION { author.key.label } +{ + author empty.or.unknown + { key empty.or.unknown + { "no key, author in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { author.key.organization.label } +{ % added - gnp. Provide label formatting by organization if author is null. + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, author or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { editor.key.organization.label } +{ % added - gnp. Provide label formatting by organization if editor is null. + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, editor or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION { author.editor.key.label } +{ + author empty.or.unknown + { editor empty.or.unknown + { key empty.or.unknown + { "no key, author, or editor in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { calc.label } +{ + % Changed - GNP. See also author.organization.sort, editor.organization.sort + % Form label for BibTeX entry. The classification of which fields are used + % for which type of entry (book, inbook, etc.) are taken from alpha.bst. + % The change here from newapa is to also include organization as a + % citation label if author or editor is missing. + + type$ "book" = + type$ "inbook" = + or + type$ "periodical" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + + author empty.or.unknown % generate the full label citation information. + { + editor empty.or.unknown + { + organization empty.or.unknown + { + key empty.or.unknown + { + "no author, editor, organization, or key in " cite$ * warning$ + "??" + } + { key } + if$ + } + { organization } + if$ + } + { editor my.full.label } + if$ + } + { author my.full.label } + if$ + + % leave label on the stack, to be popped when required. + + "}{" * swap$ * "}{" * + % year field.or.null purify$ #-1 #4 substring$ * + % + % save the year for sort processing afterwards (adding a, b, c, etc.) + % + year field.or.null purify$ #-1 #4 substring$ + 'label.year := +} + +% +% Change by Gerry: use number-like citations for transactions +% 2011/03/23 +% +%FUNCTION {output.bibitem} +%{ newline$ +% "\bibitem{" write$ +% cite$ write$ +% "}" write$ +% newline$ +% "" +% before.all 'output.state := +%} + +FUNCTION { output.bibitem } +{ + newline$ + "\bibitem[\protect\citeauthoryear{" write$ + calc.label write$ + sort.year write$ + "}]%" writeln + " {" write$ + cite$ write$ + "}" writeln + "" + before.all 'output.state := +} + + +FUNCTION { output.issue.doi.coden.isxn.lccn.url } +{ % enter and return with stack empty + %% We switch now from buffered output to output of complete lines, so + %% that the Issue .. URL data have their own lines, and are less likely + %% to be line-wrapped by BibTeX's short-sighted algorithm, which wraps + %% lines longer than 79 characters, backtracking to what it thinks is + %% a break point in the string. Any such wrapping MUST be undone to + %% prevent percent-newline from appearing in DOIs and URLs. The + %% output data are intentionally wrapped in \showxxx{} macros at + %% beginning of line, and that supply their own punctuation (if they + %% are not defined to suppress output entirely), to make it easier for + %% other software to recover them from .bbl files. + %% + %% It also makes it possible to later change the macro definitions + %% to suppress particular output values, or alter their appearance. + %% + %% Note that it is possible for theses, technical reports, and + %% manuals to have ISBNs, and anything that has an ISBN may also + %% have an ISSN. When there are no values for these keys, there + %% is no output generated for them here. + + "\newblock" writeln + after.block 'output.state := + + output.issue + output.isbn + output.coden % CODEN is functionally like ISSN, so output them sequentially + output.issn + output.lccn + output.doi % DOI is ALWAYS last according to CrossRef DOI documentation + output.url % but ACM wants URL last +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note + } + if$ + "" +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note.check } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note.check + } + if$ + "" +} + +FUNCTION { article } +{ + output.bibitem + + author empty.or.unknown + { + editor empty.or.unknown + { "neither author and editor supplied for " cite$ * warning$ } + { format.editors "editor" output.check } + if$ + } + { format.authors "author" output.check } + if$ + + author format.no.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + howpublished output + + crossref missing$ + { format.journal.volume.number.day.month.year } + { + "cross reference in @Article{...} is unusual" warning$ + format.article.crossref output.nonnull + } + if$ + output + + format.pages.check.without.articleno output + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { book } +{ + output.bibitem + author empty.or.unknown + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + fin.sentence + pages empty.or.unknown + { format.bookpages } % use bookpages when pages empty + { format.pages.check "pages" tie.or.space.connect } + if$ + output + } + { new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { booklet } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + new.block + howpublished output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inbook } +{ + output.bibitem + author empty.or.unknown + { format.editors + "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages + "chapter and pages" output.check % jtb: moved from before publisher + } + { + format.bookpages output + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { incollection } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages output % gnp - was special.output.nonnull + % left out comma before page numbers + % jtb: moved from before publisher + } + { + format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inproceedings } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + howpublished output.dot.space + crossref missing$ + { + journal missing$ % jtb: proceedings appearing in journals + { format.in.emphasize.booktitle format.city "booktitle" output.check.dot.space + format.series output.removenospace + format.editors.fml output % BV 2011/09/27 Moved dot to comma + format.bvolume.noseries output + new.sentence + organization output + publisher "publisher" output.check % jtb: require publisher (?) + address "address" output.check % jtb: require address + format.bookpages output + } + { + format.in.booktitle format.city "booktitle" output.check + format.editors.fml output + new.sentence + format.journal.volume.number.day.month.year output + } + if$ + format.articleno output + format.pages.check.without.articleno output + } + { + format.incoll.inproc.crossref output.nonnull + format.articleno output + format.pages.check.without.articleno output + } + if$ + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { conference } { inproceedings } + +FUNCTION { manual } +{ + output.bibitem + author empty.or.unknown + { editor empty.or.unknown + { organization "organization" output.check + organization format.key output } % if all else fails, use key + { format.editors "author and editor" output.check } + if$ + } + { format.authors output.nonnull } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + organization address new.block.checkb + % jtb: back to normal style: organization, address + organization "organization" output.check + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { mastersthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "Master's\ thesis" format.thesis.type output new.sentence % Added dot. BV 2011/09/27 + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { misc } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + title howpublished new.block.checkb + format.title output + new.block + howpublished output + "" output.nonnull.dot.space + output.day.month.year % Gerry - appears odd if (only) the year is 'repeated' but (appears) 'valuable' if the month/day is _also_ included - 2011/09/28 + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { phdthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "Ph.D. Dissertation" format.thesis.type output new.sentence % Added dot. BV 2011/09/27 + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION {format.date} +{ year empty.or.unknown + { month empty.or.unknown + { + "" % output empty date if year/month both empty + day empty.or.unknown + { } + { "there's a day but no month or year in " cite$ * warning$ } + if$ + } + { "there's a month but no year in " cite$ * warning$ + month + day empty.or.unknown + { } + { " " * day * } + if$ + } + if$ + } + { month empty.or.unknown + { + year % output only year if month empty + day empty.or.unknown + { } + { "there's a day and year but no month in " cite$ * warning$ } + if$ + } + { + month " " * + day empty.or.unknown + { } + { day * ", " * } + if$ + year * + } + if$ + } + if$ +} + +FUNCTION {new.block.checka} +{ + empty.or.unknown + 'skip$ + 'new.block + if$ +} + +FUNCTION { periodical } +{ + output.bibitem + editor empty.or.unknown + { organization output } + { format.editors output.nonnull } + if$ + new.block + title emphasize "title" output.check + format.date output + new.sentence + publisher output + address output + howpublished new.block.checka + howpublished output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { proceedings } +{ + output.bibitem + editor empty.or.unknown + { organization output + organization format.key output } % gnp - changed from author format.key + { format.editors output.nonnull } + if$ + % author format.key output % gnp - removed (should be either + % editor or organization + output.year.check % added (newapa) + new.block + format.btitle format.city "title" output.check % jtb: added city + new.sentence + format.bvolume output + format.number.series output + new.sentence + organization output + % jtb: normal order: publisher, address + publisher output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { techreport } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.btitle "title" output.check + new.block +% format.tr.number output % jtb: moved month ... + format.tr.number output new.sentence % Gerry - need dot 2011/09/28 + institution "institution" output.check + address output + new.sentence + format.named.pages output + % ACM omits year at end in transactions style + % format.day.month.year output.nonnull.dot.space % jtb: ... to here (no parens) + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { unpublished } +{ + output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + fin.sentence + output.day.month.year % UTAH + fin.block + output.issue.doi.coden.isxn.lccn.url.note.check + fin.entry +} + +FUNCTION { default.type } { misc } + +%%% ACM journal-style month definitions: full name if 1--5 letters, else +%%% abbreviation of 3 or 4 characters and a dot + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + + +%%% ==================================================================== +%%% I M P O R T A N T C H A N G E +%%% +%%% For the 2009 release of the official acm-*.bst files, there are to +%%% be NO predefined journal abbreviations in those style files. +%%% +%%% ACM may later develop an official list of mappings of full journal +%%% names of commonly-cited journals to ACM-preferred abbreviations, but +%%% authors should consider that use of any of these commented-out +%%% abbreviations is DEPRECATED unless the BibTeX file itself provides +%%% its own @String{name = "value"} definitions. +%%% +%%% Use of journal (and publisher and address) @String{...} +%%% abbreviations, as opposed to explicit value assignments such as +%%% journal = "J. ACM" and publisher = "IEEE", is preferred in +%%% bibliographic databases, because it makes it easier for journal +%%% production staff to replace those definitions by publisher-preferred +%%% abbreviations when articles are typeset for publication. +%%% +%%% For historical reasons, and because some of these abbreviations are +%%% used in other (non-ACM) bibliography style files, they are preserved +%%% here in comments. Future releases of the acm*-.bst files are likely +%%% to remove them entirely. +%%% ==================================================================== +%%% +%%% DEPRECATED: MACRO {acmcs} {"ACM Comput. Surv."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acmlett} {"ACM Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acta} {"Acta Inf."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ai} {"Artificial Intelligence"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {al} {"Ada Lett."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acr} {"Adv. Comput. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {bit} {"Bit"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cacm} {"Commun. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cj} {"Comput. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cn} {"Comput. Netw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cl} {"Comput. Lang."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmjrd} {"IBM J. Res. and Development"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmsj} {"IBM Systems Journal"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ict} {"Inf. Contr."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieebcs} {"IEE/BCS Softw. Eng. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieees} {"IEEE Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeese} {"IEEE Trans. Softw. Eng."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetc} {"IEEE Trans. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetpds} {"IEEE Trans. Parall. Distrib. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetit} {"IEEE Trans. Inf. Theory"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ipl} {"Inf. Process. Lett."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {icp} {"Inf. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ist} {"Inf. Softw. Tech."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijsa} {"Int. J. Supercomput. Appl."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijpp} {"Int. J. Parallel Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jacm} {"J. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: % MACRO {jcss} {"Journal of Computer and System Sciences"} % original BibTeX +%%% DEPRECATED: MACRO {jcss} {"J. Comput. Syst. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlp} {"J. Logic Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jfp} {"J. Funct. Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jsmrp} {"J. Softw. Maint. Res. Pract."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jss} {"J. Syst. Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlc} {"J. Logic and Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlsc} {"J. Lisp Symb. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {lpls} {"Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mor} {"Math. Oper. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mscs} {"Math. Struct. Comput. Sci."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mst} {"Math. Syst. Theor."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ngc} {"New Gen. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {scp} {"Sci. Comput. Program."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {sicomp} {"SIAM J. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {spe} {"Softw. Pract. Exper."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tocs} {"ACM Trans. Comput. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tods} {"ACM Trans. Database Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tog} {"ACM Trans. Graphics"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toms} {"ACM Trans. Math. Softw."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toois} {"ACM Trans. Office Inf. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toplas} {"ACM Trans. Program. Lang. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tcs} {"Theor. Comput. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tr} {"Tech. Rep."} +%%% ==================================================================== + +READ + +FUNCTION { sortify } +{ + purify$ + "l" change.case$ +} + +FUNCTION { chop.word } +{ + 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION { sort.format.names } +{ + 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + % s nameptr "{ff{ } }{ll{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { " et~al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION { sort.format.title } +{ + 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION { author.sort } +{ + author empty.or.unknown + { key empty.or.unknown + { "to sort, need author or key in " cite$ * warning$ + "" } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { author.editor.sort } +{ + author empty.or.unknown + { + editor empty.or.unknown + { + key empty.or.unknown + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { author.organization.sort } +{ + % added - GNP. Stack author or organization for sorting (from alpha.bst). + % Unlike alpha.bst, we need entire names, not abbreviations + + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { editor.organization.sort } +{ + % added - GNP. Stack editor or organization for sorting (from alpha.bst). + % Unlike alpha.bst, we need entire names, not abbreviations + + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION { presort } +{ + % Presort creates the bibentry's label via a call to calc.label, and then + % sorts the entries based on entry type. Chicago.bst adds support for + % including organizations as the sort key; the following is stolen from + % alpha.bst. + + calc.label sortify % recalculate bibitem label + year field.or.null purify$ #-1 #4 substring$ * % add year + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + #1 entry.max$ substring$ % added for newapa + 'sort.label := % added for newapa + sort.label % added for newapa + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE { presort } + +SORT % by label, year, author/editor, title + +FUNCTION { initialize.extra.label.stuff } +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION { forward.pass } +{ + % Pass through all entries, comparing current entry to last one. + % Need to concatenate year to the stack (done by calc.label) to determine + % if two entries are the same (see presort) + + last.label + % OLD:calc.label year field.or.null purify$ #-1 #4 substring$ * % add year + % NEW: + author.key.label year field.or.null purify$ #-1 #4 substring$ * % add year + #1 entry.max$ substring$ = % are they equal? + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + % OLD: calc.label year field.or.null purify$ #-1 #4 substring$ * % add year + % NEW: + author.key.label year field.or.null purify$ #-1 #4 substring$ * % add year + #1 entry.max$ substring$ 'last.label := % assign to last.label + } + if$ +} + +FUNCTION { reverse.pass } +{ + next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label.year extra.label * 'sort.year := + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION { bib.sort.order } +{ + sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE { bib.sort.order } + +SORT % by sort.label, year, title --- giving final bib. order. + +FUNCTION { begin.bib } +{ + %% Set to #0 show 13-digit ISBN in preference to 10-digit ISBN. + %% Set to #1 to show both 10-digit and 13-digit ISBNs. + #1 'show-isbn-10-and-13 := + + "%%% -*-BibTeX-*-" writeln + "%%% Do NOT edit. File created by BibTeX with style" writeln + "%%% ACM-Reference-Format-Journals [18-Jan-2012]." writeln + "" writeln + + preamble$ empty.or.unknown + 'skip$ + { preamble$ writeln } + if$ + "\begin{thebibliography}{00}" writeln + "" writeln + "%%% ====================================================================" writeln + "%%% NOTE TO THE USER: you can override these defaults by providing" writeln + "%%% customized versions of any of these macros before the \bibliography" writeln + "%%% command. Each of them MUST provide its own final punctuation," writeln + "%%% except for \shownote{}, \showDOI{}, and \showURL{}. The latter two" writeln + "%%% do not use final punctuation, in order to avoid confusing it with" writeln + "%%% the Web address." writeln + "%%%" writeln + "%%% To suppress output of a particular field, define its macro to expand" writeln + "%%% to an empty string, or better, \unskip, like this:" writeln + "%%%" writeln + "%%% \newcommand{\showDOI}[1]{\unskip} % LaTeX syntax" writeln + "%%%" writeln + "%%% \def \showDOI #1{\unskip} % plain TeX syntax" writeln + "%%%" writeln + "%%% ====================================================================" writeln + "" writeln + + %% ACM publications do not use CODEN, ISSN, and LCCN data, so their default + %% macro wrappers expand to \unskip, discarding their values and unwanted + %% space. + %% + %% For other publications, prior definitions like these may be useful: + %% + %% Plain TeX: + %% \def \showCODEN #1{CODEN #1.} + %% \def \showISSN #1{ISSN #1.} + %% \def \showLCCN #1{LCCN #1.} + %% + %% LaTeX: + %% \newcommand{\showCODEN}[1]{CODEN #1.} + %% \newcommand{\showISSN}[1]#1{ISSN #1.} + %% \newcommand{\showLCCN}[1]{LCCN #1.} + + "\ifx \showCODEN \undefined \def \showCODEN #1{\unskip} \fi" writeln + "\ifx \showDOI \undefined \def \showDOI #1{{\tt DOI:}\penalty0{#1}\ } \fi" writeln + % ACM styles omit ISBNs, but they can be included by suitable definitions of + % \showISBNx and \showISBNxiii before the .bbl file is read + "\ifx \showISBNx \undefined \def \showISBNx #1{\unskip} \fi" writeln + "\ifx \showISBNxiii \undefined \def \showISBNxiii #1{\unskip} \fi" writeln + "\ifx \showISSN \undefined \def \showISSN #1{\unskip} \fi" writeln + "\ifx \showLCCN \undefined \def \showLCCN #1{\unskip} \fi" writeln + "\ifx \shownote \undefined \def \shownote #1{#1} \fi" writeln % NB: final period supplied by add.period$ above + "\ifx \showarticletitle \undefined \def \showarticletitle #1{#1} \fi" writeln + "\ifx \showURL \undefined \def \showURL #1{#1} \fi" writeln +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION { end.bib } +{ + newline$ + "\end{thebibliography}" + writeln +} + +EXECUTE {end.bib} + +%%% End of ACM-Reference-Format-Journals.bst V1.00 - 18 January 2012 + diff --git a/Master/texmf-dist/bibtex/bst/acmart/SIGCHI-Reference-Format.bst b/Master/texmf-dist/bibtex/bst/acmart/SIGCHI-Reference-Format.bst new file mode 100644 index 00000000000..6fc5574d2cd --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/acmart/SIGCHI-Reference-Format.bst @@ -0,0 +1,3352 @@ +%%% -*-BibTeX-*- +%%% ==================================================================== +%%% @BibTeX-style-file{ +%%% author = "Nelson H. F. Beebe, Boris Veytsman and Gerald Murray", +%%% version = "1.00", +%%% date = "18 January 2012", +%%% time = "11:48 EST", +%%% filename = "ACM-Reference-Format-Journals.bst", +%%% address = "University of Utah +%%% Department of Mathematics, 110 LCB +%%% 155 S 1400 E RM 233 +%%% Salt Lake City, UT 84112-0090 +%%% USA", +%%% telephone = "+1 801 581 5254", +%%% FAX = "+1 801 581 4148", +%%% URL = "http://www.math.utah.edu/~beebe", +%%% checksum = "available here: http://www.acm.org/publications/latex_style/CRC-journals.txt" +%%% email = "beebe@math.utah.edu, beebe@acm.org, +%%% beebe@computer.org, borisv@lk.net, murray@hq.acm.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "ACM Transactions bibliography style; BibTeX", +%%% license = "public domain", +%%% supported = "yes", +%%% abstract = "", +%%% docstring = "The checksum field, above, is produced by WinMD5Free (v1.20) +%%% available from http://www.winmd5.com/?rid=winmd5," +%%% } +%%% ==================================================================== + +% "SIGCHI Format" BibTeX style, Forked from ACM-Reference-Format-Journals.bst +% Modifications 13-FEBURARY-2015 (David Ayman Shamma) + +% "ACM Transactions" BibTeX style, ACM-Reference-Format-Journals.bst +% for BibTeX version 0.99c, LaTeX version 3.141 +% ACM extensions with code cleaned up, extended, and debugged 10--15-Nov-2008 +% Revised 17-APRIL-2008 (Nelson) +% Revised 13-MARCH-2011 (Boris/Gerry) +% Revised 23-MARCH-2011 (Boris/Gerry) +% Revised 27-MARCH-2011 (Boris/Gerry) +% Revised 15-APRIL-2011 (Boris/Gerry) +% Revised 27-SEPTEMBER-2011 (Boris) +% +% +% History (by Nelson) +% +% Based on 'acmtrans' (for ACM Journals) +% Date: 28th April 2008 +% +% 1. Avoid 'repeating' the 'month' values. +% 2. Avoid incorrectly italicizing the volume number. +% 3. Avoid non italicizing certain titles (book, inproceedings etc). +% 4. NO series if there is NO volume. +% 5. Sorting of reference with first surname. +% 6. Article no added for Inproceedings. +% +% Date: 07th May 2008 +% +% 1. Abbreviation list added +% +% Citation format: [author-last-name year] +% [author-last-name and author-last-name year] +% [author-last-name, author-last-name, and author-last-name year] +% [author-last-name et al. year] +% [author-last-name] +% author-last-name [year] +% [author-last-name and author-last-name] +% [author-last-name et al.] +% [year] or [year,year] +% year or year,year +% +% Reference list ordering: alphabetical by author or whatever passes +% for author in the absence of one. +% +% Features of the old acmtrans.bst: +% ================================= +% +% - all authors appear last name first. +% - all pages are listed xx-xx, (no pp.) and are at the end of the reference +% - publishers are identified as publisher, address +% - conferences papers (inproceedings) may give city of conference, +% date of conference, and journal that the proceedings appear in. +% - months abbreviated to max four letters (eg. Mar.) +% - volume of a series indicated after the title of the series +% - editors appear after edited title and are identified by a trailing "Eds." +% not in parentheses. Editor names are not given in small caps. +% (unless there is no author line) +% - names terminated with a period even if there is no first name. +% - editions are indicated trailing after the work, not in parentheses. +% - "et al." citations have a protected period to avoid bad spacing (jrh) +% - "address" required when publisher given +% - series (roman) and volume are in a sentence separate from (book-)title +% +% +% Features of chicago.bst: +% ======================= +% +% - full names used in citations, but abbreviated citations are available +% (see above) +% - if an entry has a "month", then the month and year are also printed +% as part of that bibitem. +% - all conjunctions use "and" instead of "\&" +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. +% - book, inbook, and manual use "location: publisher" (or organization) +% for address and publisher. All other types list publishers separately. +% - "pp." are used to identify page numbers for all entry types except +% articles. +% - organization is used as a citation label if neither author nor editor +% is present (for manuals). +% - "et al." is used for long author and editor lists, or when "others" +% is used. +% +% Modifications and bug fixes from newapa.bst: +% =========================================== +% +% - added month, year to bib entries if month is present +% - fixed bug with In proceedings, added necessary comma after title +% - all conjunctions changed to "and" from "\&" +% - fixed bug with author labels in my.full.label: "et al." now is +% generated when "others" is an author name +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. Unnecessary (IMHO) "()" around page numbers +% were removed, and page numbers now don't end with a period. +% - created chicago.sty for use with this bibstyle (required). +% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume, +% number, and /or pages. Renamed to format.journal.volume.number. +% - fixed bug in formatting booktitles: additional period an error if +% book has a volume. +% - fixed bug: editors usually given redundant period before next clause +% (format.editors.dot) removed. +% - added label support for organizations, if both author and editor +% are missing (from alpha.bst). If organization is too long, then +% the key field is used for abbreviated citations. +% - In proceedings or books of several volumes, no comma was written +% between the "Volume x" and the page numbers (this was intentional +% in newapa.bst). Fixed. +% - Some journals may not have volumes/numbers, only month/year (eg. +% IEEE Computer). Fixed bug in article style that assumed volume/number +% was always present. +% +% Original documentation for newapa.sty: +% ===================================== +% +% This version was made by modifying the master file made by +% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX +% style of Peter F. Patel-Schneider. +% +% Copyright (C) 1985, all rights reserved. +% Copying of this file is authorized only if either +% (1) you make absolutely no changes to your copy, including name, or +% (2) if you do make changes, you name it something other than 'newapa.bst'. +% There are undoubtably bugs in this style. If you make bug fixes, +% improvements, etc. please let me know. My e-mail address is: +% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com +% +% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst', +% with lots of tweaking to make it look like APA style, along with tips +% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'. +% +% +% Start of ACM-Reference-Format-Journals.bst +% +% Note: Many of the new bibentry 'fields' will only work with the +% 'ACM-Reference-Format-Journals.bst' file. Legacy .bib files (which will, in all probability, +% NOT contain these new fields) will _still_ work with the ACM-Reference-Format-Journals.bst. +% +% +ENTRY + { address + advisor + author + booktitle + chapter + city % jtb: added + date % jtb: added + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + % New keys recognized + issue % UTAH: used in, e.g., ACM SIGSAM Bulletin and ACM Communications in Computer Algebra + articleno + day % UTAH: needed for newspapers, weeklies, bi-weeklies + doi % UTAH + url % UTAH + bookpages % UTAH + numpages + lastaccessed % UTAH: used only for @Misc{...} + coden % UTAH + isbn % UTAH + isbn-13 % UTAH + issn % UTAH + lccn % UTAH + } + {} + { label.year extra.label sort.year sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { show-isbn-10-and-13 } % initialized below in begin.bib + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { multiresult } + +INTEGERS { len } + +INTEGERS { last.extra.num } + +STRINGS { s t t.org u } + +STRINGS { last.label next.extra } + +STRINGS { p1 p2 p3 page.count } + +FUNCTION { dump.stack.1 } +{ + duplicate$ "STACK[top] = [" swap$ * "]" * warning$ +} + +FUNCTION { dump.stack.2 } +{ + duplicate$ "STACK[top ] = [" swap$ * "]" * warning$ + swap$ + duplicate$ "STACK[top-1] = [" swap$ * "]" * warning$ + swap$ +} + +FUNCTION { empty.or.unknown } +{ + %% Examine the top stack entry, and push 1 if it is empty, or + %% consists only of whitespace, or is a string beginning with two + %% queries (??), and otherwise, push 0. + %% + %% This function provides a replacement for empty$, with the + %% convenient feature that unknown values marked by two leading + %% queries are treated the same as missing values, and thus, do not + %% appear in the output .bbl file, and yet, their presence in .bib + %% file(s) serves to mark values which are temporarily missing, but + %% are expected to be filled in eventually once more data is + %% obtained. The TeX User Group and BibNet bibliography archives + %% make extensive use of this practice. + %% + %% An empty string cannot serve the same purpose, because just as in + %% statistics data processing, an unknown value is not the same as an + %% empty value. + %% + %% At entry: stack = ... top:[string] + %% At exit: stack = ... top:[0 or 1] + + duplicate$ empty$ + { pop$ #1 } + { #1 #2 substring$ "??" = } + if$ +} + +FUNCTION { writeln } +{ + %% In BibTeX style files, the sequences + %% + %% ... "one" "two" output + %% ... "one" "two" output.xxx + %% + %% ship "one" to the output file, possibly following by punctuation, + %% leaving the stack with + %% + %% ... "two" + %% + %% There is thus a one-string lag in output processing that must be + %% carefully handled to avoid duplicating a string in the output + %% file. Unless otherwise noted, all output.xxx functions leave + %% just one new string on the stack, and that model should be born + %% in mind when reading or writing function code. + %% + %% BibTeX's asynchronous buffering of output from strings from the + %% stack is confusing because newline$ bypasses the buffer. It + %% would have been so much easier for newline to be a character + %% rather than a state of the output-in-progress. + %% + %% The documentation in btxhak.dvi is WRONG: it says + %% + %% newline$ Writes onto the bbl file what's accumulated in the + %% output buffer. It writes a blank line if and only + %% if the output buffer is empty. Since write$ does + %% reasonable line breaking, you should use this + %% function only when you want a blank line or an + %% explicit line break. + %% + %% write$ Pops the top (string) literal and writes it on the + %% output buffer (which will result in stuff being + %% written onto the bbl file when the buffer fills + %% up). + %% + %% Examination of the BibTeX source code shows that write$ does + %% indeed behave as claimed, but newline$ sends a newline character + %% directly to the output file, leaving the stack unchanged. The + %% first line "Writes onto ... buffer." is therefore wrong. + %% + %% The original BibTeX style files almost always use "write$ newline$" + %% in that order, so it makes sense to hide that pair in a private + %% function like this one, named after a statement in Pascal, + %% the programming language embedded in the BibTeX Web program. + + write$ % output top-of-stack string + newline$ % immediate write of newline (not via stack) +} + +FUNCTION { init.state.consts } +{ + #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +FUNCTION { output.nonnull } +{ % Stack in: ... R S T Stack out: ... R T File out: S<comma><space> + 's := + output.state mid.sentence = + { + ", " * write$ + } + { + output.state after.block = + { + add.period$ writeln + "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.dot.space } +{ % Stack in: ... R S T Stack out: ... R T File out: S<dot><space> + 's := + output.state mid.sentence = % { "<DEBUG output.nonnull.dot.space>. " * write$ } + { + ". " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.remove } +{ % Stack in: ... R S T Stack out: ... R T File out: S<space> + 's := + output.state mid.sentence = + { + " " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.removenospace } +{ % Stack in: ... R S T Stack out: ... R T File out: S + 's := + output.state mid.sentence = + { + "" * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output } +{ % discard top token if empty, else like output.nonnull + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION { output.dot.space } +{ % discard top token if empty, else like output.nonnull.dot.space + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.dot.space + if$ +} + +FUNCTION { output.removenospace } +{ % discard top token if empty, else like output.nonnull.removenospace + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.removenospace + if$ +} + +FUNCTION { output.check } +{ % like output, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION { output.check.dot.space } +{ % like output.dot.space, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.dot.space + if$ +} + +FUNCTION { fin.block } +{ % functionally, but not logically, identical to fin.entry + add.period$ + writeln +} + +FUNCTION { fin.entry } +{ + add.period$ + writeln +} + +FUNCTION { new.sentence } +{ % update sentence state, with neither output nor stack change + output.state after.block = + 'skip$ + { + output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION { fin.sentence } +{ + add.period$ + write$ + new.sentence + "" +} + +FUNCTION { new.block } +{ + output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION { output.coden } % UTAH +{ % output non-empty CODEN as one-line sentence (stack untouched) + coden empty.or.unknown + { } + { "\showCODEN{" coden * "}" * writeln } + if$ +} + +FUNCTION { format.articleno } +{ + articleno empty.or.unknown + { "" } + { + numpages empty.or.unknown + { "articleno field, but no numpages field, in " cite$ * warning$ } + { } + if$ + "Article " articleno * + } + if$ +} + +FUNCTION { format.year } +{ % push year string or "????" onto output stack + %% Because year is a mandatory field, we always force SOMETHING + %% to be output + year empty.or.unknown + { "????" } + { year } + if$ +} + +FUNCTION { format.day.month } +{ % push "day month " or "month " or "" onto output stack + day empty.or.unknown + { + month empty.or.unknown + { "" } + { month " " *} + if$ + } + { + month empty.or.unknown + { "" } + { day " " * month * " " *} + if$ + } + if$ +} + +FUNCTION { format.day.month.year } % UTAH +{ % if month is empty, push "" else push "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + % acm-*.bst addition: prefix parenthesized date string with + % ", Article nnn " + articleno empty.or.unknown + { "" } + { ", " format.articleno * } + if$ + " (" * format.day.month * format.year * ")" * +} + +FUNCTION { output.day.month.year } % UTAH +{ % if month is empty value, do nothing; else output stack top and + % leave with new top string "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + format.day.month.year + output.nonnull.remove +} + +FUNCTION { strip.doi } % UTAH +{ % Strip any Web address prefix to recover the bare DOI, leaving the + % result on the output stack, as recommended by CrossRef DOI + % documentation. + % For example, reduce "http://doi.acm.org/10.1145/1534530.1534545" to + % "10.1145/1534530.1534545". That is later typeset and displayed as + % doi:10.1145/1534530.1534545 as the LAST item in the reference list + % entry. Publisher Web sites wrap this with a suitable link to a real + % URL to resolve the DOI, and the master http://dx.doi.org/ address is + % preferred, since publisher-specific URLs can disappear in response + % to economic events. All journals are encouraged by the DOI + % authorities to use that typeset format and link procedures for + % uniformity across all publications that include DOIs in reference + % lists. + % The numeric prefix is guaranteed to start with "10.", so we use + % that as a test. + doi #1 #3 substring$ "10." = + { doi } + { + doi #1 #7 substring$ "http://" = + { + doi #8 doi text.length$ #7 - substring$ 't := % get modifiable copy of rest of DOI + + "INTERNAL STYLE-FILE ERROR" 's := + + % search for next "/" and assign its suffix to s + + { t text.length$ } + { + t #1 #1 substring$ "/" = + { + % save rest of string as true DOI (should be 10.xxxx/yyyy) + t #2 t text.length$ #1 - substring$ 's := + "" 't := % empty string t terminates the loop + } + { + % discard first character and continue loop: t <= substring(t,2,last) + t #2 t text.length$ #1 - substring$ 't := + } + if$ + } + while$ + + % check for valid DOI (should be 10.xxxx/yyyy) + s #1 #3 substring$ "10." = + { } + { "unrecognized DOI substring " s * " in DOI value [" * doi * "]" * warning$ } + if$ + + s % push the stripped DOI on the output stack + + } + { + "unrecognized DOI value [" doi * "]" * warning$ + doi % push the unrecognized original DOI on the output stack + } + if$ + } + if$ +} + +% +% Change by BV: added standard prefix to URL +% +FUNCTION { output.doi } % UTAH +{ % output non-empty DOI as one-line sentence (stack untouched) + doi empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which then requires + %% manual (or automated) editing of the .bbl file to repair. + %% The \url{} macro strips percent-newlines, and is thus safe in + %% the presence of the line wrapping, but \path|...| and + %% \verb|...| do not. + "\showDOI{%" writeln + "\url{http://dx.doi.org/" strip.doi * "}}" * writeln + } + if$ +} + +FUNCTION { output.isbn } % UTAH +{ % output non-empty ISBN-10 and/or ISBN-13 as one-line sentences (stack untouched) + show-isbn-10-and-13 + { + %% show both 10- and 13-digit ISBNs + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + isbn-13 empty.or.unknown + { } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + { + %% show 10-digit ISBNs only if 13-digit ISBNs not available + isbn-13 empty.or.unknown + { + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + if$ +} + +FUNCTION { output.issn } % UTAH +{ % output non-empty ISSN as one-line sentence (stack untouched) + issn empty.or.unknown + { } + { "\showISSN{" issn * "}" * writeln } + if$ +} + +FUNCTION { output.issue } +{ % output non-empty issue number as a one-line sentence (stack untouched) + issue empty.or.unknown + { } + { "Issue " issue * "." * writeln } + if$ +} + +FUNCTION { output.lccn } % UTAH +{ % return with stack untouched + lccn empty.or.unknown + { } + { "\showLCCN{" lccn * "}" * writeln } + if$ +} + +FUNCTION { output.note } % UTAH +{ % return with stack empty + note empty.or.unknown + { } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +FUNCTION { output.note.check } % UTAH +{ % return with stack empty + note empty.or.unknown + { "empty note in " cite$ * warning$ } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +% +% Changes by BV 2011/04/15. Do not output +% url if doi is defined +% +FUNCTION { output.url } % UTAH +{ % return with stack untouched + % output URL and associated lastaccessed fields + doi empty.or.unknown + { + url empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which would require + %% manual (or automated) editing of the .bbl file to repair. However, + %% the \url{} macro handles the unwrapping job automatically. + "\showURL{%" writeln + lastaccessed empty.or.unknown + { "" } + { "Retrieved " lastaccessed * " from " * } + if$ + + %% The URL field may contain a semicolon-separated list of Web + %% addresses, and we locate and wrap each of them in \url{...}. + %% The simplistic approach of putting the entire list into the + %% macro argument is that the semicolons are typeset in a + %% typewriter font, and no space follows them. + %% + %% We therefore replace the original code + %% "\url{" * url * "}}" * writeln + %% with this character-at-a-time loop: + + "\url{" * + + url 't := % get modifiable copy of URL list + + { t text.length$ } + { + t #1 #1 substring$ ";" = + { % then split argument at separator + "};" * writeln + "\url{" + } + { % else concatenate nonblank character to argument + t #1 #1 substring$ " " = + { } + { t #1 #1 substring$ * } + if$ + } + if$ + + t #2 t text.length$ #1 - substring$ 't := + } + while$ + + "}}" * writeln + } + if$ + } + { } + if$ +} + +FUNCTION { output.year.check } +{ % warn if year empty, else output top string and leave " YEAR<label>" on stack in mid-sentence + year empty.or.unknown + { "empty year in " cite$ * warning$ } + { write$ + " " year * extra.label * + mid.sentence 'output.state := + } + if$ +} + +FUNCTION { not } +{ + { #0 } + { #1 } + if$ +} + +FUNCTION { and } +{ + 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION { or } +{ + { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION { le } +{ + %% test whether first number is less than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 <= n2 then 1 else 0 + + %% "DEBUG: le " cite$ * warning$ + > { #0 } { #1 } if$ +} + +FUNCTION { ge } +{ + %% test whether first number is greater than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 >= n2 then 1 else 0 + + %% "DEBUG: ge " cite$ * warning$ + < { #0 } { #1 } if$ +} + +FUNCTION { is.leading.digit } +{ + %% test whether first character of string is a digit + %% stack in: string + %% stack out: if first-char-is-digit then 1 else 0 + + #1 #1 substring$ % replace string by string[1:1] + duplicate$ % string[1:1] string[1:1] + chr.to.int$ + "0" chr.to.int$ swap$ le % "0" <= string[1:1] --> 0-or-1 + swap$ % 0-or-1 string[1:1] + chr.to.int$ + "9" chr.to.int$ le % string[1:1} <= "9" --> 0-or-1 + and +} + +FUNCTION { skip.digits } +{ + %% skip over leading digits in string + %% stack in: string + %% stack out: rest-of-string leading-digits + + %% "DEBUG: enter skip.digits " cite$ * warning$ + + %% dump.stack.1 + + duplicate$ + 't := + 't.org := + "" 'u := + + { t text.length$ } + { + %% "=================DEBUG: skip.digits t = [" t * "]" * warning$ + t is.leading.digit + { t #2 t text.length$ #1 - substring$ } + { + t 'u := + "" + } + if$ + 't := + } + while$ + + u % rest of string + t.org #1 t.org text.length$ u text.length$ - substring$ % leading digits + + %% "DEBUG: t.org = [" t.org * "]" * warning$ + %% "DEBUG: u = [" u * "]" * warning$ + + %% dump.stack.2 + + %% "DEBUG: leave skip.digits " cite$ * warning$ +} + +FUNCTION { skip.nondigits } +{ + %% skip over leading nondigits in string + %% stack in: string + %% stack out: rest-of-string + + %% "DEBUG: enter skip.nondigits " cite$ * warning$ + + 't := + "" 'u := + + { t text.length$ } + { + %% "=================DEBUG: skip.nondigits t = [" t * "]" * warning$ + t is.leading.digit + { + t 'u := + "" + } + { t #2 t text.length$ #1 - substring$ } + if$ + 't := + } + while$ + + u % rest of string + + %% dump.stack.1 + %% "DEBUG: leave skip.nondigits " cite$ * warning$ +} + +FUNCTION { parse.next.number } +{ + %% stack in: string + %% stack out: rest-of-string next-numeric-part-of-string + %% Example: + %% stack in: "123:1--123:59" + %% stack out: ":1--123:59" "123" + + 's := + s skip.nondigits 's := + s skip.digits +} + +FUNCTION { reduce.pages.to.page.count } +{ + %% Stack in: arbitrary-and-unused + %% Stack out: unchanged + %% + %% For the new-style pagination with article number and numpages or + %% pages, we expect to have BibTeX entries containing something like + %% articleno = "17", + %% pages = "1--23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% numpages = "23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% pages = "17:1--17:23", + %% with output "Article 17, 23 pages", + %% + %% If articleno is missing or empty, then we should output "1--23", + %% "23" (with a warning of a missing articleno), or "17:1--17:23", + %% respectively. + + %% "DEBUG: enter reduce.pages.to.page.count " cite$ * warning$ + + %% "DEBUG: pages = [" pages * "]" * warning$ + + pages + parse.next.number 'p1 := + parse.next.number 'p2 := + parse.next.number 'p3 := + parse.next.number 'page.count := + + duplicate$ + empty.or.unknown + { } + { + duplicate$ "unexpected trailing garbage [" swap$ * + "] after n:p1--n:p2 in pages = [" * + pages * + "] in " * + cite$ * + warning$ + } + if$ + + pop$ + + %% "DEBUG: reduce.pages.to.page.count: " + %% " p1 = " p1 * * + %% " p2 = " p2 * * + %% " p3 = " p3 * * + %% " p4 = " page.count * * + %% " in " cite$ * * warning$ + + p1 p3 = p2 "1" = and numpages empty.or.unknown and + { "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + p1 "1" = p3 empty.or.unknown and numpages empty.or.unknown and + { + p2 'page.count := + "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ + } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + %% "DEBUG: leave reduce.pages.to.page.count " cite$ * warning$ +} + +FUNCTION { new.block.checkb } +{ % issue a new.block only if at least one of top two stack strings is not empty + empty.or.unknown + swap$ empty.or.unknown + and + 'skip$ + 'new.block + if$ +} + +FUNCTION { field.or.null } +{ % convert empty value to null string, else return value + duplicate$ empty.or.unknown + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION { emphasize } +{ % emphasize a non-empty top string on the stack (WITHOUT italic correction) + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION { emphasize.with.italic.correction } +{ % convert empty string to null string, or emphasize with a trailing italic correction + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} + +FUNCTION { comma } +{ % convert empty string to null string, or brace string and add trailing comma + duplicate$ empty.or.unknown + { pop$ "" } + { "{" swap$ * "}," * } + if$ +} + +FUNCTION { format.names } +{ + % Format bibliographical entries with the first author last name first, + % and subsequent authors with initials followed by last name. + % All names are formatted in this routine. + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 = + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + {"{" s nameptr "{ff }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + {"{" s nameptr "{ff }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + if$ + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{\sc others}" = + { " {et~al\mbox{.}}" * } % jrh: avoid spacing problems + { " {and} " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { my.full.label } +{ + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ + +} + +FUNCTION { format.names.fml } +{ + % Format names in "familiar" format, with first initial followed by + % last name. Like format.names, ALL names are formatted. + % jtb: The names are NOT put in small caps + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { + "{" s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ * "}" * 't := + + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{others}" = + { " {et~al\mbox{.}}" * } + { " {and} " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { format.authors } +{ + author empty.or.unknown + { "" } + { author format.names add.period$} % jtb: add period if none before + if$ +} + +FUNCTION { format.key } +{ + empty.or.unknown + { key field.or.null } + { "" } + if$ +} + +FUNCTION { format.no.key } +{ + empty.or.unknown + { "" } + { "" } + if$ +} + +FUNCTION { format.editors.fml } +{ + % Format editor names for use in the "in" types: inbook, incollection, + % inproceedings: first initial, then last names. When editors are the + % LABEL for an entry, then format.editor is used which lists editors + % by last name first. + + editor empty.or.unknown + { "" } + { + editor format.names.fml editor num.names$ #1 > + { " (Eds.)" * } + { " (Ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.editors } +{ % format editor names for use in labels, last names first. + editor empty.or.unknown + { "" } + { + editor format.names + editor num.names$ #1 > + { " (Eds.)." * } + { " (Ed.)." * } + if$ + } + if$ +} + +FUNCTION { format.articletitle } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { "\showarticletitle{" title * "}" * } + % Use this for downcase title style: + % { \showarticletitle{" title "t" change.case$ * "}" * } + if$ +} + +FUNCTION { format.title } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { title } + % Use this for downcase title style: + % { title "t" change.case$ } + if$ +} + +FUNCTION { n.dashify } +{ + 't := + "" + { t empty.or.unknown not } + { + t #1 #1 substring$ "-" = + { + t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { + { t #1 #1 substring$ "-" = } + { + "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { + t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION { format.btitle } +{ + edition empty.or.unknown + { title emphasize } + { title empty.or.unknown + { title emphasize } % jtb: what is this supposed to do ?!? + { "{\em " title * "\/} (" * edition "l" change.case$ * " ed.)" * } % jtb: no parens for ed. + if$ + } + if$ +} + +FUNCTION { format.emphasize.booktitle } +{ % push "" or "{\em booktitle}" or "{\em booktitle}, (second ed.)" on stack + edition empty.or.unknown + { booktitle emphasize } + { booktitle empty.or.unknown + { "" } + { "{\em " booktitle * "} (" * edition "l" change.case$ * " ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.city } +{ + % jtb: if the preceding string (the title of the conference) is non-empty, + % jtb: append the location, otherwise leave empty (so as to trigger the + % jtb: error message in output.check + + duplicate$ empty.or.unknown + { } + { + city empty.or.unknown + { + date empty.or.unknown + { } + { " (" * date * ")" * } + if$ + } + { + date empty.or.unknown + { " (" * city * ")" * } + { " (" * city * ", " * date * ")" * } + if$ + } + if$ + } + if$ +} + +FUNCTION { tie.or.space.connect } +{ + duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION { either.or.check } +{ + empty.or.unknown + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION { format.bvolume } +{ + % jtb: If there is a series, this is added and the volume trails after it. + % jtb: Otherwise, "Vol" is Capitalized. + + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.bvolume.noseries } +{ + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { "Vol." volume tie.or.space.connect} +% { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.series } +{ + series empty.or.unknown + {""} + {" {\em (" * series ")}" *} + if$ +} + +FUNCTION { format.number.series } +{ + volume empty.or.unknown + { + number empty.or.unknown + { + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "" } + { " (" series * ")" * } + if$ + } + if$ + } % { series field.or.null } + { + output.state mid.sentence = + { "Number" } % gnp - changed to mixed case always + { "Number" } + if$ + number tie.or.space.connect series empty.or.unknown + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { + "" + } + if$ +} + +FUNCTION { multi.page.check } +{ + 't := + #0 'multiresult := + { multiresult not + t empty.or.unknown not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION { format.pages } +{ + pages empty.or.unknown + { "" } + { + pages multi.page.check + { pages n.dashify } % gnp - removed () % jtb: removed pp. + { pages } + if$ + } + if$ +} + +FUNCTION { format.pages.check.without.articleno } +{ %% format pages field only if articleno is absent + %% Stack out: pages-specification + numpages missing$ pages missing$ and + { "page numbers missing in both pages and numpages fields in " cite$ * warning$ } + { } + if$ + + articleno empty.or.unknown + { + pages missing$ + { numpages } + { format.pages } + if$ + } + { "" } + if$ +} + +FUNCTION { format.pages.check } +{ + pages empty.or.unknown + { "page numbers missing in " cite$ * warning$ "" } + { pages n.dashify } + if$ +} + +FUNCTION { format.bookpages } +{ + bookpages empty.or.unknown + { "" } + { bookpages "book pages" tie.or.space.connect } + if$ +} + +FUNCTION { format.named.pages } +{ + pages empty.or.unknown + { "" } + { format.pages "pages" tie.or.space.connect } + if$ +} + +% +% Changed by Boris Veytsman, 2011-03-13 +% Now the word "pages" is printed even if +% there field pages is not empty. +% + +FUNCTION { format.page.count } +{ + page.count empty.or.unknown + { "" } + { + articleno empty.or.unknown + { "numpages field, but no articleno field, in " cite$ * warning$ } + { } + if$ + page.count "pages" tie.or.space.connect + } + if$ +} + +FUNCTION { format.articleno.numpages } +{ + %% There are seven possible outputs, depending on which fields are set. + %% + %% These four are handled here: + %% + %% articleno, numpages, pages -> "Article articleno-value, numpages-value pages" + %% articleno, numpages -> "Article articleno-value, numpages-value pages" + %% articleno, pages -> "Article articleno-value, reduced-pages-value pages" + %% articleno -> "Article articleno-value" and warn about missing numpages + %% + %% The remaining three have already been handled by + %% format.pages.check.without.articleno: + %% + %% numpages, pages -> "pages-value" + %% numpages -> "numpages-value" + %% pages -> "pages-value" + + articleno empty.or.unknown + { + numpages empty.or.unknown + { } + { "require articleno with numpages field in " cite$ * warning$ } + if$ + "" + } + { + numpages empty.or.unknown + { + pages empty.or.unknown + { + "require pages or numpages fields with articleno field in " cite$ * warning$ + "" 'page.count := + } + { reduce.pages.to.page.count } + if$ + } + { numpages 'page.count := } + if$ + + %% The Article number is now handled in format.day.month.year because + %% ACM prefers the style "Digital Libraries 12, 3, Article 5 (July 2008)" + %% over "Digital Libraries 12, 3 (July 2008), Article 5" + %% format.articleno output + format.page.count + } + if$ +} + +FUNCTION { format.journal.volume.number.day.month.year } +{ + % By Young (and Spencer) + % GNP - fixed bugs with missing volume, number, and/or pages + % + % Format journal, volume, number, pages for article types. + % + journal empty.or.unknown + { "no journal in " cite$ * warning$ + "" } +% { journal emphasize.with.italic.correction } + { + journal "Journal of the ACM" = + { "{\it J. ACM}" } + { + journal "American Mathematical Society Translations" = + { "{\it Amer. Math. Soc. Transl.}" } + { + journal "Bulletin of the American Mathematical Society" = + { "{\it Bull. Amer. Math. Soc.}" } + { + journal "Proceedings of the American Mathematical Society" = + { "{\it Proc. Amer. Math. Soc.}" } + { + journal "Transactions of the American Mathematical Society" = + { "{\it Trans. Amer. Math. Soc.}" } + { + journal "Communications of the {ACM}" = + { "{\it Commun. {ACM}}" } + { + journal "{ACM} Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "{ACM} Transactions on Mathematical Software" = + { "{\it {ACM} Trans. Math. Software}" } + { + journal "{ACM} {SIGNUM} Newsletter" = + { "{\it {ACM} {SIGNUM} Newslett.}" } + { + journal "American Journal of Sociology" = + { "{\it Amer. J. Sociology}" } + { + journal "Journal of the American Statistical Association" = + { "{\it J. Amer. Statist. Assoc.}" } + { + journal "Applied Mathematics and Computation" = + { "{\it Appl. Math. Comput.}" } + { + journal "American Mathematical Monthly" = + { "{\it Amer. Math. Monthly}" } + { + journal "British Journal of Mathematical and Statistical Psychology" = + { "{\it Brit. J. Math. Statist. Psych.}" } + { + journal "Canadian Mathematical Bulletin" = + { "{\it Canad. Math. Bull.}" } + { + journal "Journal of Computational and Applied Mathematics" = + { "{\it J. Comput. Appl. Math.}" } + { + journal "Journal of Computational Physics" = + { "{\it J. Comput. Phys.}" } + { + journal "Computers and Structures" = + { "{\it Comput. \& Structures}" } + { + journal "The Computer Journal" = + { "{\it Comput. J.}" } + { + journal "Journal of Computer and System Sciences" = + { "{\it J. Comput. System Sci.}" } + { + journal "Contemporary Mathematics" = + { "{\it Contemp. Math.}" } + { + journal "Crelle's Journal" = + { "{\it Crelle's J.}" } + { + journal "Giornale di Mathematiche" = + { "{\it Giorn. Mat.}" } + { + journal "{IEEE} Transactions on Computers" = + { "{\it {IEEE} Trans. Comput.}" } + { + journal "{IEEE} Transactions on Automatic Control" = + { "{\it {IEEE} Trans. Automat. Control}" } + { + journal "Proceedings of the {IEEE}" = + { "{\it Proc. {IEEE}}" } + { + journal "{IEEE} Transactions on Aerospace and Electronic Systems" = + { "{\it {IEEE} Trans. Aerospace Electron. Systems}" } + { + journal "{IMA} Journal of Numerical Analysis" = + { "{\it {IMA} J. Numer. Anal.}" } + { + journal "Information Processing Letters" = + { "{\it Inform. Process. Lett.}" } + { + journal "Journal of the Institute of Mathematics and its Applications" = + { "{\it J. Inst. Math. Appl.}" } + { + journal "International Journal of Control" = + { "{\it Internat. J. Control}" } + { + journal "International Journal for Numerical Methods in Engineering" = + { "{\it Internat. J. Numer. Methods Engrg.}" } + { + journal "International Journal of Supercomputing Applications" = + { "{\it Internat. J. Supercomputing Applic.}" } + { + journal "Journal of Research of the National Bureau of Standards" = + { "{\it J. Res. Nat. Bur. Standards}" } + { + journal "Linear Algebra and its Applications" = + { "{\it Linear Algebra Appl.}" } + { + journal "Journal of Mathematical Analysis and Applications" = + { "{\it J. Math. Anal. Appl.}" } + { + journal "Mathematische Annalen" = + { "{\it Math. Ann.}" } + { + journal "Journal of Mathematical Physics" = + { "{\it J. Math. Phys.}" } + { + journal "Mathematics of Computation" = + { "{\it Math. Comp.}" } + { + journal "Mathematica Scandinavica" = + { "{\it Math. Scand.}" } + { + journal "Mathematical Tables and Other Aids to Computation" = + { "{\it Math. Tables Aids Comput.}" } + { + journal "Numerische Mathematik" = + { "{\it Numer. Math.}" } + { + journal "Pacific Journal of Mathematics" = + { "{\it Pacific J. Math.}" } + { + journal "Journal of Parallel and Distributed Computing" = + { "{\it J. Parallel and Distrib. Comput.}" } + { + journal "Parallel Computing" = + { "{\it Parallel Comput.}" } + { + journal "Philosophical Magazine" = + { "{\it Philos. Mag.}" } + { + journal "Proceedings of the National Academy of Sciences of the USA" = + { "{\it Proc. Nat. Acad. Sci. U. S. A.}" } + { + journal "Quarterly Journal of Mathematics, Oxford, Series (2)" = + { "{\it Quart. J. Math. Oxford Ser. (2)}" } + { + journal "Quarterly of Applied Mathematics" = + { "{\it Quart. Appl. Math.}" } + { + journal "Review of the International Statisical Institute" = + { "{\it Rev. Inst. Internat. Statist.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics" = + { "{\it J. Soc. Indust. Appl. Math.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics, Series B, Numerical Analysis" = + { "{\it J. Soc. Indust. Appl. Math. Ser. B Numer. Anal.}" } + { + journal "{SIAM} Journal on Algebraic and Discrete Methods" = + { "{\it {SIAM} J. Algebraic Discrete Methods}" } + { + journal "{SIAM} Journal on Applied Mathematics" = + { "{\it {SIAM} J. Appl. Math.}" } + { + journal "{SIAM} Journal on Computing" = + { "{\it {SIAM} J. Comput.}" } + { + journal "{SIAM} Journal on Matrix Analysis and Applications" = + { "{\it {SIAM} J. Matrix Anal. Appl.}" } + { + journal "{SIAM} Journal on Numerical Analysis" = + { "{\it {SIAM} J. Numer. Anal.}" } + { + journal "{SIAM} Review" = + { "{\it {SIAM} Rev.}" } + { + journal "{SIAM} Journal on Scientific and Statistical Computing" = + { "{\it {SIAM} J. Sci. Statist. Comput.}" } + { + journal "Software Practice and Experience" = + { "{\it Software Prac. Experience}" } + { + journal "Statistical Science" = + { "{\it Statist. Sci.}" } + { + journal "{USSR} Computational Mathematics and Mathematical Physics" = + { "{\it {U. S. S. R.} Comput. Math. and Math. Phys.}" } + { + journal "Journal of {VLSI} and Computer Systems" = + { "{\it J. {VLSI} Comput. Syst.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Mechanik" = + { "{\it Z. Angew. Math. Mech.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Physik" = + { "{\it Z. Angew. Math. Phys.}" } + { + journal "ACM Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "ACM Transactions on Mathematical Software" = + { "{\it ACM Trans. Math. Software}" } + { + journal "ACM {SIGNUM} Newsletter" = + { "{\it ACM {SIGNUM} Newslett.}" } + { + journal "IEEE Transactions on Computers" = + { "{\it IEEE Trans. Comput.}" } + { + journal "IEEE Transactions on Automatic Control" = + { "{\it IEEE Trans. Automat. Control}" } + { + journal "Proceedings of the IEEE" = + { "{\it Proc. IEEE}" } + { + journal "IEEE Transactions on Aerospace and Electronic Systems" = + { "{\it IEEE Trans. Aerospace Electron. Systems}" } + { + journal "IMA Journal of Numerical Analysis" = + { "{\it IMA J. Numer. Anal.}" } + { + journal "SIAM Journal on Algebraic and Discrete Methods" = + { "{\it SIAM J. Algebraic Discrete Methods}" } + { + journal "SIAM Journal on Applied Mathematics" = + { "{\it SIAM J. Appl. Math.}" } + { + journal "SIAM Journal on Computing" = + { "{\it SIAM J. Comput.}" } + { + journal "SIAM Journal on Matrix Analysis and Applications" = + { "{\it SIAM J. Matrix Anal. Appl.}" } + { + journal "SIAM Journal on Numerical Analysis" = + { "{\it SIAM J. Numer. Anal.}" } + { + journal "SIAM Review" = + { "{\it SIAM Rev.}" } + { + journal "SIAM Journal on Scientific and Statistical Computing" = + { "{\it SIAM J. Sci. Statist. Comput.}" } + { + journal "USSR Computational Mathematics and Mathematical Physics" = + { "{\it U. S. S. R. Comput. Math. and Math. Phys.}" } + { + journal "Journal of VLSI and Computer Systems" = + { "{\it J. VLSI Comput. Syst.}" } + { + journal "Communications of the ACM" = + { "{\it Commun. ACM}" } + %% If no match with cases needing special handling, just output journal name + { journal emphasize.with.italic.correction } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + + number empty.or.unknown + { + volume empty.or.unknown + { "no number and no volume in " cite$ * warning$ "" * } + { " " * " {" * volume * "}" * } + if$ + } + { + volume empty.or.unknown + { + "unusual to have number, but no volume, for " cite$ * warning$ + " " * number * + } + { " " * volume comma " " * number * * } + if$ + } + if$ + + format.day.month.year * +} + +FUNCTION { format.chapter.pages } +{ + chapter empty.or.unknown + 'format.pages + { type empty.or.unknown + { "Chapter" } % gnp - changed to mixed case + { type "t" change.case$ } + if$ + chapter tie.or.space.connect + pages empty.or.unknown + {"page numbers missing in " cite$ * warning$} % gnp - added check + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION { format.in.emphasize.booktitle } +{ % jtb: format for collections or proceedings not appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " format.emphasize.booktitle * } + if$ +} + +FUNCTION { format.in.booktitle } +{ % jtb: format for proceedings appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " booktitle * } + if$ +} + +FUNCTION { format.in.ed.booktitle } +{ + booktitle empty.or.unknown + { "" } + { editor empty.or.unknown + { "In " format.emphasize.booktitle * } + % jtb: swapped editor location + { "In " format.emphasize.booktitle * ", " * format.editors.fml * } + if$ + } + if$ +} + +FUNCTION { format.thesis.type } +{ % call with default type on stack top + type empty.or.unknown + 'skip$ % use default type + { + pop$ % discard default type + % NO: it is silly to have to brace protect every degree type!: type "t" change.case$ + type + } + if$ +} + +FUNCTION { format.tr.number } +{ + type empty.or.unknown +% { "Tech. Rep." } + { "{T}echnical {R}eport" } % ACM wants it explicit (Gerry 9/28) + 'type + if$ + number empty.or.unknown + { "t" change.case$ } + %% LOOKS BAD: { "." * number tie.or.space.connect } + %% Prefer "Research report RJ687." to "Research report. RJ687." + { number tie.or.space.connect } + if$ +} + +FUNCTION { format.advisor } +{ + advisor empty.or.unknown + { "" } + { "Advisor(s) " advisor * } + if$ +} + +FUNCTION { format.article.crossref } +{ "See" + "\citeN{" * crossref * "}" * +} + +FUNCTION { format.crossref.editor } +{ + editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al\mbox{.}" * } % jrh: avoid spacing problems + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION { format.book.crossref } +{ + volume empty.or.unknown + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect % gnp - changed to mixed case + " of " * + } + if$ + editor empty.or.unknown + editor field.or.null author field.or.null = + or + { key empty.or.unknown + { series empty.or.unknown + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \citeN{" * crossref * "}" * +} + +FUNCTION { format.incoll.inproc.crossref } +{ "See" + " \citeN{" * crossref * "}" * +} + +FUNCTION { format.lab.names } +{ + % format.lab.names: + % + % determines "short" names for the abbreviated author information. + % "Long" labels are created in calc.label, using the routine my.full.label + % to format author and editor fields. + % + % There are 4 cases for labels. (n=3 in the example) + % a) one author Foo + % b) one to n Foo, Bar and Baz + % c) use of "and others" Foo, Bar et al. + % d) more than n Foo et al. + + 's := + s num.names$ 'numnames := + numnames #2 > % change number to number of others allowed before + % forcing "et al". + { s #1 "{vv~}{ll}" format.name$ " et~al\mbox{.}" * } % jrh: \mbox{} added + { + numnames #1 - 'namesleft := + #2 'nameptr := + s #1 "{vv~}{ll}" format.name$ + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + } + { ", " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } + if$ +} + +FUNCTION { author.key.label } +{ + author empty.or.unknown + { key empty.or.unknown + { "no key, author in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { author.key.organization.label } +{ % added - gnp. Provide label formatting by organization if author is null. + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, author or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { editor.key.organization.label } +{ % added - gnp. Provide label formatting by organization if editor is null. + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, editor or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION { author.editor.key.label } +{ + author empty.or.unknown + { editor empty.or.unknown + { key empty.or.unknown + { "no key, author, or editor in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { calc.label } +{ + % Changed - GNP. See also author.organization.sort, editor.organization.sort + % Form label for BibTeX entry. The classification of which fields are used + % for which type of entry (book, inbook, etc.) are taken from alpha.bst. + % The change here from newapa is to also include organization as a + % citation label if author or editor is missing. + + type$ "book" = + type$ "inbook" = + or + type$ "periodical" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + + author empty.or.unknown % generate the full label citation information. + { + editor empty.or.unknown + { + organization empty.or.unknown + { + key empty.or.unknown + { + "no author, editor, organization, or key in " cite$ * warning$ + "??" + } + { key } + if$ + } + { organization } + if$ + } + { editor my.full.label } + if$ + } + { author my.full.label } + if$ + + % leave label on the stack, to be popped when required. + + "}{" * swap$ * "}{" * + % year field.or.null purify$ #-1 #4 substring$ * + % + % save the year for sort processing afterwards (adding a, b, c, etc.) + % + year field.or.null purify$ #-1 #4 substring$ + 'label.year := +} + +% +% Change by Gerry: use number-like citations for transactions +% 2011/03/23 +% Reverting: Ayman +FUNCTION {output.bibitem} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +% FUNCTION { output.bibitem } +% { +% newline$ +% "\bibitem[\protect\citeauthoryear{" write$ +% calc.label write$ +% sort.year write$ +% "}]%" writeln +% " {" write$ +% cite$ write$ +% "}" writeln +% "" +% before.all 'output.state := +% } + + +FUNCTION { output.issue.doi.coden.isxn.lccn.url } +{ % enter and return with stack empty + %% We switch now from buffered output to output of complete lines, so + %% that the Issue .. URL data have their own lines, and are less likely + %% to be line-wrapped by BibTeX's short-sighted algorithm, which wraps + %% lines longer than 79 characters, backtracking to what it thinks is + %% a break point in the string. Any such wrapping MUST be undone to + %% prevent percent-newline from appearing in DOIs and URLs. The + %% output data are intentionally wrapped in \showxxx{} macros at + %% beginning of line, and that supply their own punctuation (if they + %% are not defined to suppress output entirely), to make it easier for + %% other software to recover them from .bbl files. + %% + %% It also makes it possible to later change the macro definitions + %% to suppress particular output values, or alter their appearance. + %% + %% Note that it is possible for theses, technical reports, and + %% manuals to have ISBNs, and anything that has an ISBN may also + %% have an ISSN. When there are no values for these keys, there + %% is no output generated for them here. + + "\newblock" writeln + after.block 'output.state := + + output.issue + output.isbn + output.coden % CODEN is functionally like ISSN, so output them sequentially + output.issn + output.lccn + output.doi % DOI is ALWAYS last according to CrossRef DOI documentation + output.url % but ACM wants URL last +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note + } + if$ + "" +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note.check } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note.check + } + if$ + "" +} + +FUNCTION { article } +{ + output.bibitem + + author empty.or.unknown + { + editor empty.or.unknown + { "neither author and editor supplied for " cite$ * warning$ } + { format.editors "editor" output.check } + if$ + } + { format.authors "author" output.check } + if$ + + author format.no.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + howpublished output + + crossref missing$ + { format.journal.volume.number.day.month.year } + { + "cross reference in @Article{...} is unusual" warning$ + format.article.crossref output.nonnull + } + if$ + output + + format.pages.check.without.articleno output + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { book } +{ + output.bibitem + author empty.or.unknown + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + fin.sentence + pages empty.or.unknown + { format.bookpages } % use bookpages when pages empty + { format.pages.check "pages" tie.or.space.connect } + if$ + output + } + { new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { booklet } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + new.block + howpublished output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inbook } +{ + output.bibitem + author empty.or.unknown + { format.editors + "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages + "chapter and pages" output.check % jtb: moved from before publisher + } + { + format.bookpages output + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { incollection } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages output % gnp - was special.output.nonnull + % left out comma before page numbers + % jtb: moved from before publisher + } + { + format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inproceedings } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + howpublished output.dot.space + crossref missing$ + { + journal missing$ % jtb: proceedings appearing in journals + { format.in.emphasize.booktitle format.city "booktitle" output.check.dot.space + format.series output.removenospace + format.editors.fml output % BV 2011/09/27 Moved dot to comma + format.bvolume.noseries output + new.sentence + organization output + publisher "publisher" output.check % jtb: require publisher (?) + address "address" output.check % jtb: require address + format.bookpages output + } + { + format.in.booktitle format.city "booktitle" output.check + format.editors.fml output + new.sentence + format.journal.volume.number.day.month.year output + } + if$ + format.articleno output + format.pages.check.without.articleno output + } + { + format.incoll.inproc.crossref output.nonnull + format.articleno output + format.pages.check.without.articleno output + } + if$ + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { conference } { inproceedings } + +FUNCTION { manual } +{ + output.bibitem + author empty.or.unknown + { editor empty.or.unknown + { organization "organization" output.check + organization format.key output } % if all else fails, use key + { format.editors "author and editor" output.check } + if$ + } + { format.authors output.nonnull } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + organization address new.block.checkb + % jtb: back to normal style: organization, address + organization "organization" output.check + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { mastersthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "Master's\ thesis" format.thesis.type output new.sentence % Added dot. BV 2011/09/27 + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { misc } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + title howpublished new.block.checkb + format.title output + new.block + howpublished output + "" output.nonnull.dot.space + output.day.month.year % Gerry - appears odd if (only) the year is 'repeated' but (appears) 'valuable' if the month/day is _also_ included - 2011/09/28 + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { phdthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "Ph.D. Dissertation" format.thesis.type output new.sentence % Added dot. BV 2011/09/27 + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION {format.date} +{ year empty.or.unknown + { month empty.or.unknown + { + "" % output empty date if year/month both empty + day empty.or.unknown + { } + { "there's a day but no month or year in " cite$ * warning$ } + if$ + } + { "there's a month but no year in " cite$ * warning$ + month + day empty.or.unknown + { } + { " " * day * } + if$ + } + if$ + } + { month empty.or.unknown + { + year % output only year if month empty + day empty.or.unknown + { } + { "there's a day and year but no month in " cite$ * warning$ } + if$ + } + { + month " " * + day empty.or.unknown + { } + { day * ", " * } + if$ + year * + } + if$ + } + if$ +} + +FUNCTION {new.block.checka} +{ + empty.or.unknown + 'skip$ + 'new.block + if$ +} + +FUNCTION { periodical } +{ + output.bibitem + editor empty.or.unknown + { organization output } + { format.editors output.nonnull } + if$ + new.block + title emphasize "title" output.check + format.date output + new.sentence + publisher output + address output + howpublished new.block.checka + howpublished output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { proceedings } +{ + output.bibitem + editor empty.or.unknown + { organization output + organization format.key output } % gnp - changed from author format.key + { format.editors output.nonnull } + if$ + % author format.key output % gnp - removed (should be either + % editor or organization + output.year.check % added (newapa) + new.block + format.btitle format.city "title" output.check % jtb: added city + new.sentence + format.bvolume output + format.number.series output + new.sentence + organization output + % jtb: normal order: publisher, address + publisher output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { techreport } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.btitle "title" output.check + new.block +% format.tr.number output % jtb: moved month ... + format.tr.number output new.sentence % Gerry - need dot 2011/09/28 + institution "institution" output.check + address output + new.sentence + format.named.pages output + % ACM omits year at end in transactions style + % format.day.month.year output.nonnull.dot.space % jtb: ... to here (no parens) + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { unpublished } +{ + output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + fin.sentence + output.day.month.year % UTAH + fin.block + output.issue.doi.coden.isxn.lccn.url.note.check + fin.entry +} + +FUNCTION { default.type } { misc } + +%%% ACM journal-style month definitions: full name if 1--5 letters, else +%%% abbreviation of 3 or 4 characters and a dot + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + + +%%% ==================================================================== +%%% I M P O R T A N T C H A N G E +%%% +%%% For the 2009 release of the official acm-*.bst files, there are to +%%% be NO predefined journal abbreviations in those style files. +%%% +%%% ACM may later develop an official list of mappings of full journal +%%% names of commonly-cited journals to ACM-preferred abbreviations, but +%%% authors should consider that use of any of these commented-out +%%% abbreviations is DEPRECATED unless the BibTeX file itself provides +%%% its own @String{name = "value"} definitions. +%%% +%%% Use of journal (and publisher and address) @String{...} +%%% abbreviations, as opposed to explicit value assignments such as +%%% journal = "J. ACM" and publisher = "IEEE", is preferred in +%%% bibliographic databases, because it makes it easier for journal +%%% production staff to replace those definitions by publisher-preferred +%%% abbreviations when articles are typeset for publication. +%%% +%%% For historical reasons, and because some of these abbreviations are +%%% used in other (non-ACM) bibliography style files, they are preserved +%%% here in comments. Future releases of the acm*-.bst files are likely +%%% to remove them entirely. +%%% ==================================================================== +%%% +%%% DEPRECATED: MACRO {acmcs} {"ACM Comput. Surv."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acmlett} {"ACM Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acta} {"Acta Inf."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ai} {"Artificial Intelligence"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {al} {"Ada Lett."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acr} {"Adv. Comput. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {bit} {"Bit"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cacm} {"Commun. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cj} {"Comput. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cn} {"Comput. Netw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cl} {"Comput. Lang."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmjrd} {"IBM J. Res. and Development"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmsj} {"IBM Systems Journal"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ict} {"Inf. Contr."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieebcs} {"IEE/BCS Softw. Eng. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieees} {"IEEE Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeese} {"IEEE Trans. Softw. Eng."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetc} {"IEEE Trans. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetpds} {"IEEE Trans. Parall. Distrib. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetit} {"IEEE Trans. Inf. Theory"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ipl} {"Inf. Process. Lett."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {icp} {"Inf. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ist} {"Inf. Softw. Tech."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijsa} {"Int. J. Supercomput. Appl."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijpp} {"Int. J. Parallel Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jacm} {"J. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: % MACRO {jcss} {"Journal of Computer and System Sciences"} % original BibTeX +%%% DEPRECATED: MACRO {jcss} {"J. Comput. Syst. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlp} {"J. Logic Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jfp} {"J. Funct. Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jsmrp} {"J. Softw. Maint. Res. Pract."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jss} {"J. Syst. Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlc} {"J. Logic and Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlsc} {"J. Lisp Symb. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {lpls} {"Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mor} {"Math. Oper. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mscs} {"Math. Struct. Comput. Sci."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mst} {"Math. Syst. Theor."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ngc} {"New Gen. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {scp} {"Sci. Comput. Program."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {sicomp} {"SIAM J. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {spe} {"Softw. Pract. Exper."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tocs} {"ACM Trans. Comput. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tods} {"ACM Trans. Database Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tog} {"ACM Trans. Graphics"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toms} {"ACM Trans. Math. Softw."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toois} {"ACM Trans. Office Inf. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toplas} {"ACM Trans. Program. Lang. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tcs} {"Theor. Comput. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tr} {"Tech. Rep."} +%%% ==================================================================== + +READ + +FUNCTION { sortify } +{ + purify$ + "l" change.case$ +} + +FUNCTION { chop.word } +{ + 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION { sort.format.names } +{ + 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + % s nameptr "{ff{ } }{ll{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { " et~al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION { sort.format.title } +{ + 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION { author.sort } +{ + author empty.or.unknown + { key empty.or.unknown + { "to sort, need author or key in " cite$ * warning$ + "" } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { author.editor.sort } +{ + author empty.or.unknown + { + editor empty.or.unknown + { + key empty.or.unknown + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { author.organization.sort } +{ + % added - GNP. Stack author or organization for sorting (from alpha.bst). + % Unlike alpha.bst, we need entire names, not abbreviations + + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { editor.organization.sort } +{ + % added - GNP. Stack editor or organization for sorting (from alpha.bst). + % Unlike alpha.bst, we need entire names, not abbreviations + + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION { presort } +{ + % Presort creates the bibentry's label via a call to calc.label, and then + % sorts the entries based on entry type. Chicago.bst adds support for + % including organizations as the sort key; the following is stolen from + % alpha.bst. + + calc.label sortify % recalculate bibitem label + year field.or.null purify$ #-1 #4 substring$ * % add year + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + #1 entry.max$ substring$ % added for newapa + 'sort.label := % added for newapa + sort.label % added for newapa + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE { presort } + +SORT % by label, year, author/editor, title + +FUNCTION { initialize.extra.label.stuff } +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION { forward.pass } +{ + % Pass through all entries, comparing current entry to last one. + % Need to concatenate year to the stack (done by calc.label) to determine + % if two entries are the same (see presort) + + last.label + % OLD:calc.label year field.or.null purify$ #-1 #4 substring$ * % add year + % NEW: + author.key.label year field.or.null purify$ #-1 #4 substring$ * % add year + #1 entry.max$ substring$ = % are they equal? + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + % OLD: calc.label year field.or.null purify$ #-1 #4 substring$ * % add year + % NEW: + author.key.label year field.or.null purify$ #-1 #4 substring$ * % add year + #1 entry.max$ substring$ 'last.label := % assign to last.label + } + if$ +} + +FUNCTION { reverse.pass } +{ + next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label.year extra.label * 'sort.year := + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION { bib.sort.order } +{ + sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE { bib.sort.order } + +SORT % by sort.label, year, title --- giving final bib. order. + +FUNCTION { begin.bib } +{ + %% Set to #0 show 13-digit ISBN in preference to 10-digit ISBN. + %% Set to #1 to show both 10-digit and 13-digit ISBNs. + #1 'show-isbn-10-and-13 := + + "%%% -*-BibTeX-*-" writeln + "%%% Do NOT edit. File created by BibTeX with style" writeln + "%%% ACM-Reference-Format-Journals [18-Jan-2012]." writeln + "" writeln + + preamble$ empty.or.unknown + 'skip$ + { preamble$ writeln } + if$ + "\begin{thebibliography}{00}" writeln + "" writeln + "%%% ====================================================================" writeln + "%%% NOTE TO THE USER: you can override these defaults by providing" writeln + "%%% customized versions of any of these macros before the \bibliography" writeln + "%%% command. Each of them MUST provide its own final punctuation," writeln + "%%% except for \shownote{}, \showDOI{}, and \showURL{}. The latter two" writeln + "%%% do not use final punctuation, in order to avoid confusing it with" writeln + "%%% the Web address." writeln + "%%%" writeln + "%%% To suppress output of a particular field, define its macro to expand" writeln + "%%% to an empty string, or better, \unskip, like this:" writeln + "%%%" writeln + "%%% \newcommand{\showDOI}[1]{\unskip} % LaTeX syntax" writeln + "%%%" writeln + "%%% \def \showDOI #1{\unskip} % plain TeX syntax" writeln + "%%%" writeln + "%%% ====================================================================" writeln + "" writeln + + %% ACM publications do not use CODEN, ISSN, and LCCN data, so their default + %% macro wrappers expand to \unskip, discarding their values and unwanted + %% space. + %% + %% For other publications, prior definitions like these may be useful: + %% + %% Plain TeX: + %% \def \showCODEN #1{CODEN #1.} + %% \def \showISSN #1{ISSN #1.} + %% \def \showLCCN #1{LCCN #1.} + %% + %% LaTeX: + %% \newcommand{\showCODEN}[1]{CODEN #1.} + %% \newcommand{\showISSN}[1]#1{ISSN #1.} + %% \newcommand{\showLCCN}[1]{LCCN #1.} + + "\ifx \showCODEN \undefined \def \showCODEN #1{\unskip} \fi" writeln + "\ifx \showDOI \undefined \def \showDOI #1{{\tt DOI:}\penalty0{#1}\ } \fi" writeln + % ACM styles omit ISBNs, but they can be included by suitable definitions of + % \showISBNx and \showISBNxiii before the .bbl file is read + "\ifx \showISBNx \undefined \def \showISBNx #1{\unskip} \fi" writeln + "\ifx \showISBNxiii \undefined \def \showISBNxiii #1{\unskip} \fi" writeln + "\ifx \showISSN \undefined \def \showISSN #1{\unskip} \fi" writeln + "\ifx \showLCCN \undefined \def \showLCCN #1{\unskip} \fi" writeln + "\ifx \shownote \undefined \def \shownote #1{#1} \fi" writeln % NB: final period supplied by add.period$ above + "\ifx \showarticletitle \undefined \def \showarticletitle #1{#1} \fi" writeln + "\ifx \showURL \undefined \def \showURL #1{#1} \fi" writeln +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION { end.bib } +{ + newline$ + "\end{thebibliography}" + writeln +} + +EXECUTE {end.bib} + +%%% End of ACM-Reference-Format-Journals.bst V1.00 - 18 January 2012 + diff --git a/Master/texmf-dist/bibtex/bst/acmart/acm-abbrv.bst b/Master/texmf-dist/bibtex/bst/acmart/acm-abbrv.bst new file mode 100644 index 00000000000..a6e37db0b0e --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/acmart/acm-abbrv.bst @@ -0,0 +1,3311 @@ +%%% -*-BibTeX-*- +%%% ==================================================================== +%%% @BibTeX-style-file{ +%%% author = "Nelson H. F. Beebe and many others", +%%% version = "1.03", +%%% date = "15 April 2011", +%%% time = "23:40:53 EDT", +%%% filename = "acm-abbrv.bst", +%%% address = "University of Utah +%%% Department of Mathematics, 110 LCB +%%% 155 S 1400 E RM 233 +%%% Salt Lake City, UT 84112-0090 +%%% USA", +%%% telephone = "+1 801 581 5254", +%%% FAX = "+1 801 581 4148", +%%% URL = "http://www.math.utah.edu/~beebe", +%%% checksum = "62819 3311 12013 90137", +%%% email = "beebe@math.utah.edu, beebe@acm.org, +%%% beebe@computer.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "ACM abbrv bibliography style; BibTeX", +%%% license = "public domain", +%%% supported = "yes", +%%% abstract = "", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== + +% "ACM abbrv" BibTeX style, derived by minimal modifications from acm-plain.bst +% "ACM Transactions" BibTeX style, acmtrans-v2.bst +% for BibTeX version 0.99c, LaTeX version 3.141 +% ACM extensions with code cleaned up, extended, and debugged 10--15-Nov-2008 +% Revised 28-MARCH-1996 +% Revised 30-JUNE-1995 +% Revised 15-JAN-1996 +% Revised 17-APRIL-2008 +% Revised 13-MARCH-2011 +% Revised 27-MARCH-2011 +% Revised 15-APRIL-2011 +% +% Hacked by John T. Boyland at University of California, Berkeley +% (with assistance by John R. Hauser) +% Hacked by Andrew W. Appel and Rebecca L. Davies at Princeton University, +% based on a "chicago.bst" by Glenn Paulley at U. Waterloo, +% which was based on "newapa.bst" found at ymir.claremont.edu. +% +% Version 2.2 +% Johny Sebatian and Sanjeev Sharma +% Aptara corp (c) 2008 +% +% History +% +% Date: 28th April 2008 +% +% 1. Avoid 'repeating' the 'month' values. +% 2. Avoid incorrectly italicizing the volume number. +% 3. Avoid non italicizing certain titles (book, inproceedings etc). +% 4. NO series if there is NO volume. +% 5. Sorting of reference with first surname. +% 6. Article no added for Inproceedings. +% +% Date: 07th May 2008 +% +% 1. Abbreviation list added +% +% Citation format: [author-last-name year] +% [author-last-name and author-last-name year] +% [author-last-name, author-last-name, and author-last-name year] +% [author-last-name et al. year] +% [author-last-name] +% author-last-name [year] +% [author-last-name and author-last-name] +% [author-last-name et al.] +% [year] or [year,year] +% year or year,year +% +% Reference list ordering: alphabetical by author or whatever passes +% for author in the absence of one. +% +% This BibTeX style has support for abbreviated author lists and for +% year-only citations. This is done by having the citations +% actually look like +% +% \citeauthoryear{full-author-info}{abbrev-author-info}{year} +% +% The LaTeX style has to have the following (or similar) +% +% \let\@internalcite\cite +% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite} +% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite} +% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite} +% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite} +% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite} +% +% These TeX macro definitions are found in acmtrans.sty. Additional +% commands to manipulate different components of a citation can be defined +% so that, for example, you can list author's names without parentheses +% if using a citation as a noun or object in a sentence. +% +% Features of acmtrans.bst: +% ======================== +% +% - all authors appear last name first. +% - all pages are listed xx-xx, (no pp.) and are at the end of the reference +% - publishers are identified as publisher, address +% - conferences papers (inproceedings) may give city of conference, +% date of conference, and journal that the proceedings appear in. +% - months abbreviated to max four letters (eg. Mar.) +% - volume of a series indicated after the title of the series +% - editors appear after edited title and are identified by a trailing "Eds." +% not in parentheses. Editor names are not given in small caps. +% (unless there is no author line) +% - names terminated with a period even if there is no first name. +% - editions are indicated trailing after the work, not in parentheses. +% - "et al." citations have a protected period to avoid bad spacing (jrh) +% - "address" required when publisher given +% - series (roman) and volume are in a sentence separate from (book-)title +% +% +% Features of chicago.bst: +% ======================= +% +% - full names used in citations, but abbreviated citations are available +% (see above) +% - if an entry has a "month", then the month and year are also printed +% as part of that bibitem. +% - all conjunctions use "and" instead of "\&" +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. +% - book, inbook, and manual use "location: publisher" (or organization) +% for address and publisher. All other types list publishers separately. +% - "pp." are used to identify page numbers for all entry types except +% articles. +% - organization is used as a citation label if neither author nor editor +% is present (for manuals). +% - "et al." is used for long author and editor lists, or when "others" +% is used. +% +% Modifications and bug fixes from newapa.bst: +% =========================================== +% +% - added month, year to bib entries if month is present +% - fixed bug with In proceedings, added necessary comma after title +% - all conjunctions changed to "and" from "\&" +% - fixed bug with author labels in my.full.label: "et al." now is +% generated when "others" is an author name +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. Unnecessary (IMHO) "()" around page numbers +% were removed, and page numbers now don't end with a period. +% - created chicago.sty for use with this bibstyle (required). +% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume, +% number, and /or pages. Renamed to format.journal.volume.number. +% - fixed bug in formatting booktitles: additional period an error if +% book has a volume. +% - fixed bug: editors usually given redundant period before next clause +% (format.editors.dot) removed. +% - added label support for organizations, if both author and editor +% are missing (from alpha.bst). If organization is too long, then +% the key field is used for abbreviated citations. +% - In proceedings or books of several volumes, no comma was written +% between the "Volume x" and the page numbers (this was intentional +% in newapa.bst). Fixed. +% - Some journals may not have volumes/numbers, only month/year (eg. +% IEEE Computer). Fixed bug in article style that assumed volume/number +% was always present. +% +% Original documentation for newapa.sty: +% ===================================== +% +% This version was made by modifying the master file made by +% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX +% style of Peter F. Patel-Schneider. +% +% Copyright (C) 1985, all rights reserved. +% Copying of this file is authorized only if either +% (1) you make absolutely no changes to your copy, including name, or +% (2) if you do make changes, you name it something other than 'newapa.bst'. +% There are undoubtably bugs in this style. If you make bug fixes, +% improvements, etc. please let me know. My e-mail address is: +% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com +% +% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst', +% with lots of tweaking to make it look like APA style, along with tips +% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'. + +ENTRY + { address + advisor + author + booktitle + chapter + city % jtb: added + date % jtb: added + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + % New keys recognized for acmtrans-v2.bst + issue % UTAH: used in, e.g., ACM SIGSAM Bulletin and ACM Communications in Computer Algebra + articleno + day % UTAH: needed for newspapers, weeklies, bi-weeklies + doi % UTAH + url % UTAH + bookpages % UTAH + numpages + lastaccessed % UTAH: used only for @Misc{...} + coden % UTAH + isbn % UTAH + isbn-13 % UTAH + issn % UTAH + lccn % UTAH + } + {} + { label label.year extra.label sort.year sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { show-isbn-10-and-13 } % initialized below in begin.bib + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { multiresult } + +INTEGERS { len } + +INTEGERS { last.extra.num } + +STRINGS { s t t.org u } + +STRINGS { last.label next.extra } + +STRINGS { p1 p2 p3 page.count } + +FUNCTION { dump.stack.1 } +{ + duplicate$ "STACK[top] = [" swap$ * "]" * warning$ +} + +FUNCTION { dump.stack.2 } +{ + duplicate$ "STACK[top ] = [" swap$ * "]" * warning$ + swap$ + duplicate$ "STACK[top-1] = [" swap$ * "]" * warning$ + swap$ +} + +FUNCTION { empty.or.unknown } +{ + %% Examine the top stack entry, and push 1 if it is empty, or + %% consists only of whitespace, or is a string beginning with two + %% queries (??), and otherwise, push 0. + %% + %% This function provides a replacement for empty$, with the + %% convenient feature that unknown values marked by two leading + %% queries are treated the same as missing values, and thus, do not + %% appear in the output .bbl file, and yet, their presence in .bib + %% file(s) serves to mark values which are temporarily missing, but + %% are expected to be filled in eventually once more data is + %% obtained. The TeX User Group and BibNet bibliography archives + %% make extensive use of this practice. + %% + %% An empty string cannot serve the same purpose, because just as in + %% statistics data processing, an unknown value is not the same as an + %% empty value. + %% + %% At entry: stack = ... top:[string] + %% At exit: stack = ... top:[0 or 1] + + duplicate$ empty$ + { pop$ #1 } + { #1 #2 substring$ "??" = } + if$ +} + +FUNCTION { writeln } +{ + %% In BibTeX style files, the sequences + %% + %% ... "one" "two" output + %% ... "one" "two" output.xxx + %% + %% ship "one" to the output file, possibly following by punctuation, + %% leaving the stack with + %% + %% ... "two" + %% + %% There is thus a one-string lag in output processing that must be + %% carefully handled to avoid duplicating a string in the output + %% file. Unless otherwise noted, all output.xxx functions leave + %% just one new string on the stack, and that model should be born + %% in mind when reading or writing function code. + %% + %% BibTeX's asynchronous buffering of output from strings from the + %% stack is confusing because newline$ bypasses the buffer. It + %% would have been so much easier for newline to be a character + %% rather than a state of the output-in-progress. + %% + %% The documentation in btxhak.dvi is WRONG: it says + %% + %% newline$ Writes onto the bbl file what's accumulated in the + %% output buffer. It writes a blank line if and only + %% if the output buffer is empty. Since write$ does + %% reasonable line breaking, you should use this + %% function only when you want a blank line or an + %% explicit line break. + %% + %% write$ Pops the top (string) literal and writes it on the + %% output buffer (which will result in stuff being + %% written onto the bbl file when the buffer fills + %% up). + %% + %% Examination of the BibTeX source code shows that write$ does + %% indeed behave as claimed, but newline$ sends a newline character + %% directly to the output file, leaving the stack unchanged. The + %% first line "Writes onto ... buffer." is therefore wrong. + %% + %% The original BibTeX style files almost always use "write$ newline$" + %% in that order, so it makes sense to hide that pair in a private + %% function like this one, named after a statement in Pascal, + %% the programming language embedded in the BibTeX Web program. + + write$ % output top-of-stack string + newline$ % immediate write of newline (not via stack) +} + +FUNCTION { init.state.consts } +{ + #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +FUNCTION { output.nonnull } +{ % Stack in: ... R S T Stack out: ... R T File out: S<comma><space> + 's := + output.state mid.sentence = + { + ", " * write$ + } + { + output.state after.block = + { + add.period$ writeln + "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.dot.space } +{ % Stack in: ... R S T Stack out: ... R T File out: S<dot><space> + 's := + output.state mid.sentence = % { "<DEBUG output.nonnull.dot.space>. " * write$ } + { + ". " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.remove } +{ % Stack in: ... R S T Stack out: ... R T File out: S<space> + 's := + output.state mid.sentence = + { + " " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.removenospace } +{ % Stack in: ... R S T Stack out: ... R T File out: S + 's := + output.state mid.sentence = + { + "" * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output } +{ % discard top token if empty, else like output.nonnull + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION { output.dot.space } +{ % discard top token if empty, else like output.nonnull.dot.space + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.dot.space + if$ +} + +FUNCTION { output.removenospace } +{ % discard top token if empty, else like output.nonnull.removenospace + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.removenospace + if$ +} + +FUNCTION { output.check } +{ % like output, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION { output.check.dot.space } +{ % like output.dot.space, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.dot.space + if$ +} + +FUNCTION { fin.block } +{ % functionally, but not logically, identical to fin.entry + add.period$ + writeln +} + +FUNCTION { fin.entry } +{ + add.period$ + writeln +} + +FUNCTION { new.sentence } +{ % update sentence state, with neither output nor stack change + output.state after.block = + 'skip$ + { + output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION { fin.sentence } +{ + add.period$ + write$ + new.sentence + "" +} + +FUNCTION { new.block } +{ + output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION { output.coden } % UTAH +{ % output non-empty CODEN as one-line sentence (stack untouched) + coden empty.or.unknown + { } + { "\showCODEN{" coden * "}" * writeln } + if$ +} + +FUNCTION { format.articleno } +{ + articleno empty.or.unknown + { "" } + { + numpages empty.or.unknown + { "articleno field, but no numpages field, in " cite$ * warning$ } + { } + if$ + "Article " articleno * + } + if$ +} + +FUNCTION { format.year } +{ % push year string or "????" onto output stack + %% Because year is a mandatory field, we always force SOMETHING + %% to be output + year empty.or.unknown + { "????" } + { year } + if$ +} + +FUNCTION { format.day.month } +{ % push "day month " or "month " or "" onto output stack + day empty.or.unknown + { + month empty.or.unknown + { "" } + { month " " *} + if$ + } + { + month empty.or.unknown + { "" } + { day " " * month * " " *} + if$ + } + if$ +} + +FUNCTION { format.day.month.year } % UTAH +{ % if month is empty, push "" else push "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + % acm-*.bst addition: prefix parenthesized date string with + % ", Article nnn " + articleno empty.or.unknown + { "" } + { ", " format.articleno * } + if$ + " (" * format.day.month * format.year * ")" * +} + +FUNCTION { output.day.month.year } % UTAH +{ % if month is empty value, do nothing; else output stack top and + % leave with new top string "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + format.day.month.year + output.nonnull.remove +} + +FUNCTION { strip.doi } % UTAH +{ % Strip any Web address prefix to recover the bare DOI, leaving the + % result on the output stack, as recommended by CrossRef DOI + % documentation. + % For example, reduce "http://doi.acm.org/10.1145/1534530.1534545" to + % "10.1145/1534530.1534545". That is later typeset and displayed as + % doi:10.1145/1534530.1534545 as the LAST item in the reference list + % entry. Publisher Web sites wrap this with a suitable link to a real + % URL to resolve the DOI, and the master http://dx.doi.org/ address is + % preferred, since publisher-specific URLs can disappear in response + % to economic events. All journals are encouraged by the DOI + % authorities to use that typeset format and link procedures for + % uniformity across all publications that include DOIs in reference + % lists. + % The numeric prefix is guaranteed to start with "10.", so we use + % that as a test. + doi #1 #3 substring$ "10." = + { doi } + { + doi #1 #7 substring$ "http://" = + { + doi #8 doi text.length$ #7 - substring$ 't := % get modifiable copy of rest of DOI + + "INTERNAL STYLE-FILE ERROR" 's := + + % search for next "/" and assign its suffix to s + + { t text.length$ } + { + t #1 #1 substring$ "/" = + { + % save rest of string as true DOI (should be 10.xxxx/yyyy) + t #2 t text.length$ #1 - substring$ 's := + "" 't := % empty string t terminates the loop + } + { + % discard first character and continue loop: t <= substring(t,2,last) + t #2 t text.length$ #1 - substring$ 't := + } + if$ + } + while$ + + % check for valid DOI (should be 10.xxxx/yyyy) + s #1 #3 substring$ "10." = + { } + { "unrecognized DOI substring " s * " in DOI value [" * doi * "]" * warning$ } + if$ + + s % push the stripped DOI on the output stack + + } + { + "unrecognized DOI value [" doi * "]" * warning$ + doi % push the unrecognized original DOI on the output stack + } + if$ + } + if$ +} + +% +% Change by BV: added standard prefix to URL +% +FUNCTION { output.doi } % UTAH +{ % output non-empty DOI as one-line sentence (stack untouched) + doi empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which then requires + %% manual (or automated) editing of the .bbl file to repair. + %% The \url{} macro strips percent-newlines, and is thus safe in + %% the presence of the line wrapping, but \path|...| and + %% \verb|...| do not. + "\showDOI{%" writeln + "\url{http://dx.doi.org/" strip.doi * "}}" * writeln + } + if$ +} + +FUNCTION { output.isbn } % UTAH +{ % output non-empty ISBN-10 and/or ISBN-13 as one-line sentences (stack untouched) + show-isbn-10-and-13 + { + %% show both 10- and 13-digit ISBNs + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + isbn-13 empty.or.unknown + { } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + { + %% show 10-digit ISBNs only if 13-digit ISBNs not available + isbn-13 empty.or.unknown + { + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + if$ +} + +FUNCTION { output.issn } % UTAH +{ % output non-empty ISSN as one-line sentence (stack untouched) + issn empty.or.unknown + { } + { "\showISSN{" issn * "}" * writeln } + if$ +} + +FUNCTION { output.issue } +{ % output non-empty issue number as a one-line sentence (stack untouched) + issue empty.or.unknown + { } + { "Issue " issue * "." * writeln } + if$ +} + +FUNCTION { output.lccn } % UTAH +{ % return with stack untouched + lccn empty.or.unknown + { } + { "\showLCCN{" lccn * "}" * writeln } + if$ +} + +FUNCTION { output.note } % UTAH +{ % return with stack empty + note empty.or.unknown + { } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +FUNCTION { output.note.check } % UTAH +{ % return with stack empty + note empty.or.unknown + { "empty note in " cite$ * warning$ } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + + +% +% Changes by BV 2011/04/15. Do not output +% url if doi is defined +% +FUNCTION { output.url } % UTAH +{ % return with stack untouched + % output URL and associated lastaccessed fields + doi empty.or.unknown + { + url empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which would require + %% manual (or automated) editing of the .bbl file to repair. However, + %% the \url{} macro handles the unwrapping job automatically. + "\showURL{%" writeln + lastaccessed empty.or.unknown + { "" } + { "Retrieved " lastaccessed * " from " * } + if$ + + %% The URL field may contain a semicolon-separated list of Web + %% addresses, and we locate and wrap each of them in \url{...}. + %% The simplistic approach of putting the entire list into the + %% macro argument is that the semicolons are typeset in a + %% typewriter font, and no space follows them. + %% + %% We therefore replace the original code + %% "\url{" * url * "}}" * writeln + %% with this character-at-a-time loop: + + "\url{" * + + url 't := % get modifiable copy of URL list + + { t text.length$ } + { + t #1 #1 substring$ ";" = + { % then split argument at separator + "};" * writeln + "\url{" + } + { % else concatenate nonblank character to argument + t #1 #1 substring$ " " = + { } + { t #1 #1 substring$ * } + if$ + } + if$ + + t #2 t text.length$ #1 - substring$ 't := + } + while$ + + "}}" * writeln + } + if$ + } + { } + if$ +} + +FUNCTION { output.year.check } +{ % warn if year empty, else output top string and leave " YEAR<label>" on stack in mid-sentence + year empty.or.unknown + { "empty year in " cite$ * warning$ } + { write$ + " " year * extra.label * + mid.sentence 'output.state := + } + if$ +} + +FUNCTION { not } +{ + { #0 } + { #1 } + if$ +} + +FUNCTION { and } +{ + 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION { or } +{ + { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION { le } +{ + %% test whether first number is less than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 <= n2 then 1 else 0 + + %% "DEBUG: le " cite$ * warning$ + > { #0 } { #1 } if$ +} + +FUNCTION { ge } +{ + %% test whether first number is greater than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 >= n2 then 1 else 0 + + %% "DEBUG: ge " cite$ * warning$ + < { #0 } { #1 } if$ +} + +FUNCTION { is.leading.digit } +{ + %% test whether first character of string is a digit + %% stack in: string + %% stack out: if first-char-is-digit then 1 else 0 + + #1 #1 substring$ % replace string by string[1:1] + duplicate$ % string[1:1] string[1:1] + chr.to.int$ + "0" chr.to.int$ swap$ le % "0" <= string[1:1] --> 0-or-1 + swap$ % 0-or-1 string[1:1] + chr.to.int$ + "9" chr.to.int$ le % string[1:1} <= "9" --> 0-or-1 + and +} + +FUNCTION { skip.digits } +{ + %% skip over leading digits in string + %% stack in: string + %% stack out: rest-of-string leading-digits + + duplicate$ + 't := + 't.org := + "" 'u := + + { t text.length$ } + { + %% "=================DEBUG: skip.digits t = [" t * "]" * warning$ + t is.leading.digit + { t #2 t text.length$ #1 - substring$ } + { + t 'u := + "" + } + if$ + 't := + } + while$ + + u % rest of string + t.org #1 t.org text.length$ u text.length$ - substring$ % leading digits +} + +FUNCTION { skip.nondigits } +{ + %% skip over leading nondigits in string + %% stack in: string + %% stack out: rest-of-string + + 't := + "" 'u := + + { t text.length$ } + { + t is.leading.digit + { + t 'u := + "" + } + { t #2 t text.length$ #1 - substring$ } + if$ + 't := + } + while$ + + u % rest of string +} + +FUNCTION { parse.next.number } +{ + %% stack in: string + %% stack out: rest-of-string next-numeric-part-of-string + %% Example: + %% stack in: "123:1--123:59" + %% stack out: ":1--123:59" "123" + + 's := + s skip.nondigits 's := + s skip.digits +} + +FUNCTION { reduce.pages.to.page.count } +{ + %% Stack in: arbitrary-and-unused + %% Stack out: unchanged + %% + %% For the new-style pagination with article number and numpages or + %% pages, we expect to have BibTeX entries containing something like + %% articleno = "17", + %% pages = "1--23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% numpages = "23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% pages = "17:1--17:23", + %% with output "Article 17, 23 pages", + %% + %% If articleno is missing or empty, then we should output "1--23", + %% "23" (with a warning of a missing articleno), or "17:1--17:23", + %% respectively. + + %% "DEBUG: enter reduce.pages.to.page.count " cite$ * warning$ + + %% "DEBUG: pages = [" pages * "]" * warning$ + + pages + parse.next.number 'p1 := + parse.next.number 'p2 := + parse.next.number 'p3 := + parse.next.number 'page.count := + + duplicate$ + empty.or.unknown + { } + { + duplicate$ "unexpected trailing garbage [" swap$ * + "] after n:p1--n:p2 in pages = [" * + pages * + "] in " * + cite$ * + warning$ + } + if$ + + pop$ + + %% "DEBUG: reduce.pages.to.page.count: " + %% " p1 = " p1 * * + %% " p2 = " p2 * * + %% " p3 = " p3 * * + %% " p4 = " page.count * * + %% " in " cite$ * * warning$ + + p1 p3 = p2 "1" = and numpages empty.or.unknown and + { "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + p1 "1" = p3 empty.or.unknown and numpages empty.or.unknown and + { + p2 'page.count := + "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ + } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + %% "DEBUG: leave reduce.pages.to.page.count " cite$ * warning$ +} + +FUNCTION { new.block.checkb } +{ % issue a new.block only if at least one of top two stack strings is not empty + empty.or.unknown + swap$ empty.or.unknown + and + 'skip$ + 'new.block + if$ +} + +FUNCTION { field.or.null } +{ % convert empty value to null string, else return value + duplicate$ empty.or.unknown + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION { emphasize } +{ % emphasize a non-empty top string on the stack (WITHOUT italic correction) + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION { emphasize.with.italic.correction } +{ % convert empty string to null string, or emphasize with a trailing italic correction + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} + +FUNCTION { comma } +{ % convert empty string to null string, or brace string and add trailing comma + duplicate$ empty.or.unknown + { pop$ "" } + { "{" swap$ * "}," * } + if$ +} + +FUNCTION { format.names } +{ + % Format bibliographical entries with the first author last name first, + % and subsequent authors with initials followed by last name. + % All names are formatted in this routine. + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 = + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + {"{" s nameptr "{f. }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + {"{" s nameptr "{f. }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + if$ + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " {et~al\mbox{.}}" * } % jrh: avoid spacing problems + { " {and} " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { my.full.label } +{ + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ + +} + +FUNCTION { format.names.fml } +{ + % Format names in "familiar" format, with first initial followed by + % last name. Like format.names, ALL names are formatted. + % jtb: The names are NOT put in small caps + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { + "{" s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ * "}" * 't := + + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{others}" = + { " {et~al\mbox{.}}" * } + { " {and} " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { format.authors } +{ + author empty.or.unknown + { "" } + { author format.names add.period$} % jtb: add period if none before + if$ +} + +FUNCTION { format.key } +{ + empty.or.unknown + { key field.or.null } + { "" } + if$ +} + +FUNCTION { format.no.key } +{ + empty.or.unknown + { "" } + { "" } + if$ +} + +FUNCTION { format.editors.fml } +{ + % Format editor names for use in the "in" types: inbook, incollection, + % inproceedings: first initial, then last names. When editors are the + % LABEL for an entry, then format.editor is used which lists editors + % by last name first. + + editor empty.or.unknown + { "" } + { + editor format.names.fml editor num.names$ #1 > + { " (Eds.)" * } + { " (Ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.editors } +{ % format editor names for use in labels, last names first. + editor empty.or.unknown + { "" } + { + editor format.names + editor num.names$ #1 > + { " (Eds.)." * } + { " (Ed.)." * } + if$ + } + if$ +} + +FUNCTION { format.articletitle } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { "\showarticletitle{" title * "}" * } + % Use this for downcase title style: + % { \showarticletitle{" title "t" change.case$ * "}" * } + if$ +} + +FUNCTION { format.title } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { title } + % Use this for downcase title style: + % { title "t" change.case$ } + if$ +} + +FUNCTION { n.dashify } +{ + 't := + "" + { t empty.or.unknown not } + { + t #1 #1 substring$ "-" = + { + t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { + { t #1 #1 substring$ "-" = } + { + "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { + t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION { format.btitle } +{ + edition empty.or.unknown + { title emphasize } + { title empty.or.unknown + { title emphasize } % jtb: what is this supposed to do ?!? + { "{\em " title * "\/} (" * edition "l" change.case$ * " ed.)" * } % jtb: no parens for ed. + if$ + } + if$ +} + +FUNCTION { format.emphasize.booktitle } +{ % push "" or "{\em booktitle}" or "{\em booktitle}, (second ed.)" on stack + edition empty.or.unknown + { booktitle emphasize } + { booktitle empty.or.unknown + { "" } + { "{\em " booktitle * "} (" * edition "l" change.case$ * " ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.city } +{ + % jtb: if the preceding string (the title of the conference) is non-empty, + % jtb: append the location, otherwise leave empty (so as to trigger the + % jtb: error message in output.check + + duplicate$ empty.or.unknown + { } + { + city empty.or.unknown + { + date empty.or.unknown + { } + { " (" * date * ")" * } + if$ + } + { + date empty.or.unknown + { " (" * city * ")" * } + { " (" * city * ", " * date * ")" * } + if$ + } + if$ + } + if$ +} + +FUNCTION { tie.or.space.connect } +{ + duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION { either.or.check } +{ + empty.or.unknown + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION { format.bvolume } +{ + % jtb: If there is a series, this is added and the volume trails after it. + % jtb: Otherwise, "Vol" is Capitalized. + + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.bvolume.noseries } +{ + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { "Vol." volume tie.or.space.connect} +% { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.series } +{ + series empty.or.unknown + {""} + {" {\em (" * series ")}" *} + if$ +} + +FUNCTION { format.number.series } +{ + volume empty.or.unknown + { + number empty.or.unknown + { + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "" } + { " (" series * ")" * } + if$ + } + if$ + } % { series field.or.null } + { + output.state mid.sentence = + { "Number" } % gnp - changed to mixed case always + { "Number" } + if$ + number tie.or.space.connect series empty.or.unknown + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { + "" + } + if$ +} + +FUNCTION { multi.page.check } +{ + 't := + #0 'multiresult := + { multiresult not + t empty.or.unknown not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION { format.pages } +{ + pages empty.or.unknown + { "" } + { + pages multi.page.check + { pages n.dashify } % gnp - removed () % jtb: removed pp. + { pages } + if$ + } + if$ +} + +FUNCTION { format.pages.check.without.articleno } +{ %% format pages field only if articleno is absent + %% Stack out: pages-specification + numpages missing$ pages missing$ and + { "page numbers missing in both pages and numpages fields in " cite$ * warning$ } + { } + if$ + + articleno empty.or.unknown + { + pages missing$ + { numpages } + { format.pages } + if$ + } + { "" } + if$ +} + +FUNCTION { format.pages.check } +{ + pages empty.or.unknown + { "page numbers missing in " cite$ * warning$ "" } + { pages n.dashify } + if$ +} + +FUNCTION { format.bookpages } +{ + bookpages empty.or.unknown + { "" } + { bookpages "book pages" tie.or.space.connect } + if$ +} + +FUNCTION { format.named.pages } +{ + pages empty.or.unknown + { "" } + { format.pages "pages" tie.or.space.connect } + if$ +} + +% +% Changed by Boris Veytsman, 2011-03-13 +% Now the word "pages" is printed even if +% there field pages is not empty. +% + +FUNCTION { format.page.count } +{ + page.count empty.or.unknown + { "" } + { + articleno empty.or.unknown + { "numpages field, but no articleno field, in " cite$ * warning$ } + { } + if$ + page.count "pages" tie.or.space.connect + } + if$ +} + +FUNCTION { format.articleno.numpages } +{ + %% There are seven possible outputs, depending on which fields are set. + %% + %% These four are handled here: + %% + %% articleno, numpages, pages -> "Article articleno-value, numpages-value pages" + %% articleno, numpages -> "Article articleno-value, numpages-value pages" + %% articleno, pages -> "Article articleno-value, reduced-pages-value pages" + %% articleno -> "Article articleno-value" and warn about missing numpages + %% + %% The remaining three have already been handled by + %% format.pages.check.without.articleno: + %% + %% numpages, pages -> "pages-value" + %% numpages -> "numpages-value" + %% pages -> "pages-value" + + articleno empty.or.unknown + { + numpages empty.or.unknown + { } + { "require articleno with numpages field in " cite$ * warning$ } + if$ + "" + } + { + numpages empty.or.unknown + { + pages empty.or.unknown + { + "require pages or numpages fields with articleno field in " cite$ * warning$ + "" 'page.count := + } + { reduce.pages.to.page.count } + if$ + } + { numpages 'page.count := } + if$ + + %% The Article number is now handled in format.day.month.year because + %% ACM prefers the style "Digital Libraries 12, 3, Article 5 (July 2008)" + %% over "Digital Libraries 12, 3 (July 2008), Article 5" + %% format.articleno output + format.page.count + } + if$ +} + +FUNCTION { format.journal.volume.number.day.month.year } +{ + % By Young (and Spencer) + % GNP - fixed bugs with missing volume, number, and/or pages + % + % Format journal, volume, number, pages for article types. + % + journal empty.or.unknown + { "no journal in " cite$ * warning$ + "" } +% { journal emphasize.with.italic.correction } + { + journal "Journal of the ACM" = + { "{\it J. ACM}" } + { + journal "American Mathematical Society Translations" = + { "{\it Amer. Math. Soc. Transl.}" } + { + journal "Bulletin of the American Mathematical Society" = + { "{\it Bull. Amer. Math. Soc.}" } + { + journal "Proceedings of the American Mathematical Society" = + { "{\it Proc. Amer. Math. Soc.}" } + { + journal "Transactions of the American Mathematical Society" = + { "{\it Trans. Amer. Math. Soc.}" } + { + journal "Communications of the {ACM}" = + { "{\it Commun. {ACM}}" } + { + journal "{ACM} Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "{ACM} Transactions on Mathematical Software" = + { "{\it {ACM} Trans. Math. Software}" } + { + journal "{ACM} {SIGNUM} Newsletter" = + { "{\it {ACM} {SIGNUM} Newslett.}" } + { + journal "American Journal of Sociology" = + { "{\it Amer. J. Sociology}" } + { + journal "Journal of the American Statistical Association" = + { "{\it J. Amer. Statist. Assoc.}" } + { + journal "Applied Mathematics and Computation" = + { "{\it Appl. Math. Comput.}" } + { + journal "American Mathematical Monthly" = + { "{\it Amer. Math. Monthly}" } + { + journal "British Journal of Mathematical and Statistical Psychology" = + { "{\it Brit. J. Math. Statist. Psych.}" } + { + journal "Canadian Mathematical Bulletin" = + { "{\it Canad. Math. Bull.}" } + { + journal "Journal of Computational and Applied Mathematics" = + { "{\it J. Comput. Appl. Math.}" } + { + journal "Journal of Computational Physics" = + { "{\it J. Comput. Phys.}" } + { + journal "Computers and Structures" = + { "{\it Comput. \& Structures}" } + { + journal "The Computer Journal" = + { "{\it Comput. J.}" } + { + journal "Journal of Computer and System Sciences" = + { "{\it J. Comput. System Sci.}" } + { + journal "Contemporary Mathematics" = + { "{\it Contemp. Math.}" } + { + journal "Crelle's Journal" = + { "{\it Crelle's J.}" } + { + journal "Giornale di Mathematiche" = + { "{\it Giorn. Mat.}" } + { + journal "{IEEE} Transactions on Computers" = + { "{\it {IEEE} Trans. Comput.}" } + { + journal "{IEEE} Transactions on Automatic Control" = + { "{\it {IEEE} Trans. Automat. Control}" } + { + journal "Proceedings of the {IEEE}" = + { "{\it Proc. {IEEE}}" } + { + journal "{IEEE} Transactions on Aerospace and Electronic Systems" = + { "{\it {IEEE} Trans. Aerospace Electron. Systems}" } + { + journal "{IMA} Journal of Numerical Analysis" = + { "{\it {IMA} J. Numer. Anal.}" } + { + journal "Information Processing Letters" = + { "{\it Inform. Process. Lett.}" } + { + journal "Journal of the Institute of Mathematics and its Applications" = + { "{\it J. Inst. Math. Appl.}" } + { + journal "International Journal of Control" = + { "{\it Internat. J. Control}" } + { + journal "International Journal for Numerical Methods in Engineering" = + { "{\it Internat. J. Numer. Methods Engrg.}" } + { + journal "International Journal of Supercomputing Applications" = + { "{\it Internat. J. Supercomputing Applic.}" } + { + journal "Journal of Research of the National Bureau of Standards" = + { "{\it J. Res. Nat. Bur. Standards}" } + { + journal "Linear Algebra and its Applications" = + { "{\it Linear Algebra Appl.}" } + { + journal "Journal of Mathematical Analysis and Applications" = + { "{\it J. Math. Anal. Appl.}" } + { + journal "Mathematische Annalen" = + { "{\it Math. Ann.}" } + { + journal "Journal of Mathematical Physics" = + { "{\it J. Math. Phys.}" } + { + journal "Mathematics of Computation" = + { "{\it Math. Comp.}" } + { + journal "Mathematica Scandinavica" = + { "{\it Math. Scand.}" } + { + journal "Mathematical Tables and Other Aids to Computation" = + { "{\it Math. Tables Aids Comput.}" } + { + journal "Numerische Mathematik" = + { "{\it Numer. Math.}" } + { + journal "Pacific Journal of Mathematics" = + { "{\it Pacific J. Math.}" } + { + journal "Journal of Parallel and Distributed Computing" = + { "{\it J. Parallel and Distrib. Comput.}" } + { + journal "Parallel Computing" = + { "{\it Parallel Comput.}" } + { + journal "Philosophical Magazine" = + { "{\it Philos. Mag.}" } + { + journal "Proceedings of the National Academy of Sciences of the USA" = + { "{\it Proc. Nat. Acad. Sci. U. S. A.}" } + { + journal "Quarterly Journal of Mathematics, Oxford, Series (2)" = + { "{\it Quart. J. Math. Oxford Ser. (2)}" } + { + journal "Quarterly of Applied Mathematics" = + { "{\it Quart. Appl. Math.}" } + { + journal "Review of the International Statisical Institute" = + { "{\it Rev. Inst. Internat. Statist.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics" = + { "{\it J. Soc. Indust. Appl. Math.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics, Series B, Numerical Analysis" = + { "{\it J. Soc. Indust. Appl. Math. Ser. B Numer. Anal.}" } + { + journal "{SIAM} Journal on Algebraic and Discrete Methods" = + { "{\it {SIAM} J. Algebraic Discrete Methods}" } + { + journal "{SIAM} Journal on Applied Mathematics" = + { "{\it {SIAM} J. Appl. Math.}" } + { + journal "{SIAM} Journal on Computing" = + { "{\it {SIAM} J. Comput.}" } + { + journal "{SIAM} Journal on Matrix Analysis and Applications" = + { "{\it {SIAM} J. Matrix Anal. Appl.}" } + { + journal "{SIAM} Journal on Numerical Analysis" = + { "{\it {SIAM} J. Numer. Anal.}" } + { + journal "{SIAM} Review" = + { "{\it {SIAM} Rev.}" } + { + journal "{SIAM} Journal on Scientific and Statistical Computing" = + { "{\it {SIAM} J. Sci. Statist. Comput.}" } + { + journal "Software Practice and Experience" = + { "{\it Software Prac. Experience}" } + { + journal "Statistical Science" = + { "{\it Statist. Sci.}" } + { + journal "{USSR} Computational Mathematics and Mathematical Physics" = + { "{\it {U. S. S. R.} Comput. Math. and Math. Phys.}" } + { + journal "Journal of {VLSI} and Computer Systems" = + { "{\it J. {VLSI} Comput. Syst.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Mechanik" = + { "{\it Z. Angew. Math. Mech.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Physik" = + { "{\it Z. Angew. Math. Phys.}" } + { + journal "ACM Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "ACM Transactions on Mathematical Software" = + { "{\it ACM Trans. Math. Software}" } + { + journal "ACM {SIGNUM} Newsletter" = + { "{\it ACM {SIGNUM} Newslett.}" } + { + journal "IEEE Transactions on Computers" = + { "{\it IEEE Trans. Comput.}" } + { + journal "IEEE Transactions on Automatic Control" = + { "{\it IEEE Trans. Automat. Control}" } + { + journal "Proceedings of the IEEE" = + { "{\it Proc. IEEE}" } + { + journal "IEEE Transactions on Aerospace and Electronic Systems" = + { "{\it IEEE Trans. Aerospace Electron. Systems}" } + { + journal "IMA Journal of Numerical Analysis" = + { "{\it IMA J. Numer. Anal.}" } + { + journal "SIAM Journal on Algebraic and Discrete Methods" = + { "{\it SIAM J. Algebraic Discrete Methods}" } + { + journal "SIAM Journal on Applied Mathematics" = + { "{\it SIAM J. Appl. Math.}" } + { + journal "SIAM Journal on Computing" = + { "{\it SIAM J. Comput.}" } + { + journal "SIAM Journal on Matrix Analysis and Applications" = + { "{\it SIAM J. Matrix Anal. Appl.}" } + { + journal "SIAM Journal on Numerical Analysis" = + { "{\it SIAM J. Numer. Anal.}" } + { + journal "SIAM Review" = + { "{\it SIAM Rev.}" } + { + journal "SIAM Journal on Scientific and Statistical Computing" = + { "{\it SIAM J. Sci. Statist. Comput.}" } + { + journal "USSR Computational Mathematics and Mathematical Physics" = + { "{\it U. S. S. R. Comput. Math. and Math. Phys.}" } + { + journal "Journal of VLSI and Computer Systems" = + { "{\it J. VLSI Comput. Syst.}" } + { + journal "Communications of the ACM" = + { "{\it Commun. ACM}" } + %% If no match with cases needing special handling, just output journal name + { journal emphasize.with.italic.correction } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + + number empty.or.unknown + { + volume empty.or.unknown + { "no number and no volume in " cite$ * warning$ "" * } + { " " * " {" * volume * "}" * } + if$ + } + { + volume empty.or.unknown + { + "unusual to have number, but no volume, for " cite$ * warning$ + " " * number * + } + { " " * volume comma " " * number * * } + if$ + } + if$ + + format.day.month.year * +} + +FUNCTION { format.chapter.pages } +{ + chapter empty.or.unknown + 'format.pages + { type empty.or.unknown + { "Chapter" } % gnp - changed to mixed case + { type "t" change.case$ } + if$ + chapter tie.or.space.connect + pages empty.or.unknown + {"page numbers missing in " cite$ * warning$} % gnp - added check + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION { format.in.emphasize.booktitle } +{ % jtb: format for collections or proceedings not appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " format.emphasize.booktitle * } + if$ +} + +FUNCTION { format.in.booktitle } +{ % jtb: format for proceedings appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " booktitle * } + if$ +} + +FUNCTION { format.in.ed.booktitle } +{ + booktitle empty.or.unknown + { "" } + { editor empty.or.unknown + { "In " format.emphasize.booktitle * } + % jtb: swapped editor location + { "In " format.emphasize.booktitle * ", " * format.editors.fml * } + if$ + } + if$ +} + +FUNCTION { format.thesis.type } +{ % call with default type on stack top + type empty.or.unknown + 'skip$ % use default type + { + pop$ % discard default type + % NO: it is silly to have to brace protect every degree type!: type "t" change.case$ + type + } + if$ +} + +FUNCTION { format.tr.number } +{ + type empty.or.unknown + { "Tech. Rep." } + 'type + if$ + number empty.or.unknown + { "t" change.case$ } + %% LOOKS BAD: { "." * number tie.or.space.connect } + %% Prefer "Research report RJ687." to "Research report. RJ687." + { number tie.or.space.connect } + if$ +} + +FUNCTION { format.advisor } +{ + advisor empty.or.unknown + { "" } + { "Advisor(s) " advisor * } + if$ +} + +FUNCTION { format.article.crossref } +{ "See" + "\cite{" * crossref * "}" * +} + +FUNCTION { format.crossref.editor } +{ + editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al\mbox{.}" * } % jrh: avoid spacing problems + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION { format.book.crossref } +{ + volume empty.or.unknown + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect % gnp - changed to mixed case + " of " * + } + if$ + editor empty.or.unknown + editor field.or.null author field.or.null = + or + { key empty.or.unknown + { series empty.or.unknown + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION { format.incoll.inproc.crossref } +{ "See" + " \cite{" * crossref * "}" * +} + +FUNCTION { format.lab.names } +{ + % format.lab.names: + % + % determines "short" names for the abbreviated author information. + % "Long" labels are created in calc.label, using the routine my.full.label + % to format author and editor fields. + % + % There are 4 cases for labels. (n=3 in the example) + % a) one author Foo + % b) one to n Foo, Bar and Baz + % c) use of "and others" Foo, Bar et al. + % d) more than n Foo et al. + + 's := + s num.names$ 'numnames := + numnames #2 > % change number to number of others allowed before + % forcing "et al". + { s #1 "{vv~}{ll}" format.name$ " et~al\mbox{.}" * } % jrh: \mbox{} added + { + numnames #1 - 'namesleft := + #2 'nameptr := + s #1 "{vv~}{ll}" format.name$ + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + } + { ", " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } + if$ +} + +FUNCTION { author.key.label } +{ + author empty.or.unknown + { key empty.or.unknown + { "no key, author in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { author.key.organization.label } +{ % added - gnp. Provide label formatting by organization if author is null. + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, author or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { editor.key.organization.label } +{ % added - gnp. Provide label formatting by organization if editor is null. + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, editor or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION { author.editor.key.label } +{ + author empty.or.unknown + { editor empty.or.unknown + { key empty.or.unknown + { "no key, author, or editor in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { calc.label } +{ + % Changed - GNP. See also author.organization.sort, editor.organization.sort + % Form label for BibTeX entry. The classification of which fields are used + % for which type of entry (book, inbook, etc.) are taken from alpha.bst. + % The change here from newapa is to also include organization as a + % citation label if author or editor is missing. + + type$ "book" = + type$ "inbook" = + or + type$ "periodical" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + + author empty.or.unknown % generate the full label citation information. + { + editor empty.or.unknown + { + organization empty.or.unknown + { + key empty.or.unknown + { + "no author, editor, organization, or key in " cite$ * warning$ + "??" + } + { key } + if$ + } + { organization } + if$ + } + { editor my.full.label } + if$ + } + { author my.full.label } + if$ + + % leave label on the stack, to be popped when required. + + "}{" * swap$ * "}{" * + % year field.or.null purify$ #-1 #4 substring$ * + % + % save the year for sort processing afterwards (adding a, b, c, etc.) + % + year field.or.null purify$ #-1 #4 substring$ + 'label.year := +} + +FUNCTION { output.bibitem } +{ + newline$ + %% acmtrans.bst alphanumeric style: + %%: "\bibitem[\protect\citeauthoryear{" write$ + %%: calc.label write$ + %%: sort.year write$ + %%: "}]%" writeln + %%: " {" write$ + %%: cite$ write$ + %%: "}" writeln + %% acm-plain.bst numeric style: + newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url } +{ % enter and return with stack empty + %% We switch now from buffered output to output of complete lines, so + %% that the Issue .. URL data have their own lines, and are less likely + %% to be line-wrapped by BibTeX's short-sighted algorithm, which wraps + %% lines longer than 79 characters, backtracking to what it thinks is + %% a break point in the string. Any such wrapping MUST be undone to + %% prevent percent-newline from appearing in DOIs and URLs. The + %% output data are intentionally wrapped in \showxxx{} macros at + %% beginning of line, and that supply their own punctuation (if they + %% are not defined to suppress output entirely), to make it easier for + %% other software to recover them from .bbl files. + %% + %% It also makes it possible to later change the macro definitions + %% to suppress particular output values, or alter their appearance. + %% + %% Note that it is possible for theses, technical reports, and + %% manuals to have ISBNs, and anything that has an ISBN may also + %% have an ISSN. When there are no values for these keys, there + %% is no output generated for them here. + + "\newblock" writeln + after.block 'output.state := + + output.issue + output.isbn + output.coden % CODEN is functionally like ISSN, so output them sequentially + output.issn + output.lccn + output.doi % DOI is ALWAYS last according to CrossRef DOI documentation + output.url % but ACM wants URL last +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note + } + if$ + "" +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note.check } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note.check + } + if$ + "" +} + +FUNCTION { article } +{ + output.bibitem + + author empty.or.unknown + { + editor empty.or.unknown + { "neither author and editor supplied for " cite$ * warning$ } + { format.editors "editor" output.check } + if$ + } + { format.authors "author" output.check } + if$ + + author format.no.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + howpublished output + + crossref missing$ + { format.journal.volume.number.day.month.year } + { + "cross reference in @Article{...} is unusual" warning$ + format.article.crossref output.nonnull + } + if$ + output + + format.pages.check.without.articleno output + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { book } +{ + output.bibitem + author empty.or.unknown + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + fin.sentence + pages empty.or.unknown + { format.bookpages } % use bookpages when pages empty + { format.pages.check "pages" tie.or.space.connect } + if$ + output + } + { new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { booklet } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + new.block + howpublished output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inbook } +{ + output.bibitem + author empty.or.unknown + { format.editors + "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages + "chapter and pages" output.check % jtb: moved from before publisher + } + { + format.bookpages output + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { incollection } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages output % gnp - was special.output.nonnull + % left out comma before page numbers + % jtb: moved from before publisher + } + { + format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inproceedings } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + howpublished output.dot.space + crossref missing$ + { + journal missing$ % jtb: proceedings appearing in journals + { format.in.emphasize.booktitle format.city "booktitle" output.check.dot.space + format.series output.removenospace + format.editors.fml output.dot.space + format.bvolume.noseries output + new.sentence + organization output + publisher "publisher" output.check % jtb: require publisher (?) + address "address" output.check % jtb: require address + format.bookpages output + } + { + format.in.booktitle format.city "booktitle" output.check + format.editors.fml output + new.sentence + format.journal.volume.number.day.month.year output + } + if$ + format.articleno output + format.pages.check.without.articleno output + } + { + format.incoll.inproc.crossref output.nonnull + format.articleno output + format.pages.check.without.articleno output + } + if$ + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { conference } { inproceedings } + +FUNCTION { manual } +{ + output.bibitem + author empty.or.unknown + { editor empty.or.unknown + { organization "organization" output.check + organization format.key output } % if all else fails, use key + { format.editors "author and editor" output.check } + if$ + } + { format.authors output.nonnull } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + organization address new.block.checkb + % jtb: back to normal style: organization, address + organization "organization" output.check + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { mastersthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "M.S.\ thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { misc } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + title howpublished new.block.checkb + format.title output + new.block + howpublished output + "" output.nonnull.dot.space + output.day.month.year + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { phdthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "Ph.D. thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION {format.date} +{ year empty.or.unknown + { month empty.or.unknown + { + "" % output empty date if year/month both empty + day empty.or.unknown + { } + { "there's a day but no month or year in " cite$ * warning$ } + if$ + } + { "there's a month but no year in " cite$ * warning$ + month + day empty.or.unknown + { } + { " " * day * } + if$ + } + if$ + } + { month empty.or.unknown + { + year % output only year if month empty + day empty.or.unknown + { } + { "there's a day and year but no month in " cite$ * warning$ } + if$ + } + { + month " " * + day empty.or.unknown + { } + { day * ", " * } + if$ + year * + } + if$ + } + if$ +} + +FUNCTION {new.block.checka} +{ + empty.or.unknown + 'skip$ + 'new.block + if$ +} + +FUNCTION { periodical } +{ + output.bibitem + editor empty.or.unknown + { organization output } + { format.editors output.nonnull } + if$ + new.block + title emphasize "title" output.check + format.date output + new.sentence + publisher output + address output + howpublished new.block.checka + howpublished output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { proceedings } +{ + output.bibitem + editor empty.or.unknown + { organization output + organization format.key output } % gnp - changed from author format.key + { format.editors output.nonnull } + if$ + % author format.key output % gnp - removed (should be either + % editor or organization + output.year.check % added (newapa) + new.block + format.btitle format.city "title" output.check % jtb: added city + new.sentence + format.bvolume output + format.number.series output + new.sentence + organization output + % jtb: normal order: publisher, address + publisher output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { techreport } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.btitle "title" output.check + new.block + format.tr.number output % jtb: moved month ... + institution "institution" output.check + address output + new.sentence + format.named.pages output + % ACM omits year at end in transactions style + % format.day.month.year output.nonnull.dot.space % jtb: ... to here (no parens) + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { unpublished } +{ + output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + fin.sentence + output.day.month.year % UTAH + fin.block + output.issue.doi.coden.isxn.lccn.url.note.check + fin.entry +} + +FUNCTION { default.type } { misc } + +%%% ACM journal-style month definitions: full name if 1--5 letters, else +%%% abbreviation of 3 or 4 characters and a dot + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +%%% ==================================================================== +%%% I M P O R T A N T C H A N G E +%%% +%%% For the 2009 release of the official acm-*.bst files, there are to +%%% be NO predefined journal abbreviations in those style files. +%%% +%%% ACM may later develop an official list of mappings of full journal +%%% names of commonly-cited journals to ACM-preferred abbreviations, but +%%% authors should consider that use of any of these commented-out +%%% abbreviations is DEPRECATED unless the BibTeX file itself provides +%%% its own @String{name = "value"} definitions. +%%% +%%% Use of journal (and publisher and address) @String{...} +%%% abbreviations, as opposed to explicit value assignments such as +%%% journal = "J. ACM" and publisher = "IEEE", is preferred in +%%% bibliographic databases, because it makes it easier for journal +%%% production staff to replace those definitions by publisher-preferred +%%% abbreviations when articles are typeset for publication. +%%% +%%% For historical reasons, and because some of these abbreviations are +%%% used in other (non-ACM) bibliography style files, they are preserved +%%% here in comments. Future releases of the acm*-.bst files are likely +%%% to remove them entirely. +%%% ==================================================================== +%%% +%%% DEPRECATED: MACRO {acmcs} {"ACM Comput. Surv."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acmlett} {"ACM Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acta} {"Acta Inf."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ai} {"Artificial Intelligence"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {al} {"Ada Lett."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acr} {"Adv. Comput. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {bit} {"Bit"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cacm} {"Commun. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cj} {"Comput. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cn} {"Comput. Netw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cl} {"Comput. Lang."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmjrd} {"IBM J. Res. and Development"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmsj} {"IBM Systems Journal"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ict} {"Inf. Contr."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieebcs} {"IEE/BCS Softw. Eng. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieees} {"IEEE Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeese} {"IEEE Trans. Softw. Eng."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetc} {"IEEE Trans. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetpds} {"IEEE Trans. Parall. Distrib. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetit} {"IEEE Trans. Inf. Theory"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ipl} {"Inf. Process. Lett."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {icp} {"Inf. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ist} {"Inf. Softw. Tech."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijsa} {"Int. J. Supercomput. Appl."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijpp} {"Int. J. Parallel Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jacm} {"J. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: % MACRO {jcss} {"Journal of Computer and System Sciences"} % original BibTeX +%%% DEPRECATED: MACRO {jcss} {"J. Comput. Syst. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlp} {"J. Logic Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jfp} {"J. Funct. Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jsmrp} {"J. Softw. Maint. Res. Pract."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jss} {"J. Syst. Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlc} {"J. Logic and Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlsc} {"J. Lisp Symb. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {lpls} {"Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mor} {"Math. Oper. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mscs} {"Math. Struct. Comput. Sci."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mst} {"Math. Syst. Theor."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ngc} {"New Gen. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {scp} {"Sci. Comput. Program."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {sicomp} {"SIAM J. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {spe} {"Softw. Pract. Exper."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tocs} {"ACM Trans. Comput. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tods} {"ACM Trans. Database Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tog} {"ACM Trans. Graphics"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toms} {"ACM Trans. Math. Softw."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toois} {"ACM Trans. Office Inf. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toplas} {"ACM Trans. Program. Lang. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tcs} {"Theor. Comput. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tr} {"Tech. Rep."} +%%% ==================================================================== + +READ + +FUNCTION { sortify } +{ + purify$ + "l" change.case$ +} + +FUNCTION { chop.word } +{ + 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION { sort.format.names } +{ + 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + % s nameptr "{ff{ } }{ll{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { " et~al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION { sort.format.title } +{ + 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION { author.sort } +{ + author empty.or.unknown + { key empty.or.unknown + { "to sort, need author or key in " cite$ * warning$ + "" } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { author.editor.sort } +{ + author empty.or.unknown + { + editor empty.or.unknown + { + key empty.or.unknown + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { author.organization.sort } +{ + % added - GNP. Stack author or organization for sorting (from alpha.bst). + % Unlike alpha.bst, we need entire names, not abbreviations + + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { editor.organization.sort } +{ + % added - GNP. Stack editor or organization for sorting (from alpha.bst). + % Unlike alpha.bst, we need entire names, not abbreviations + + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION { presort } +{ + % Presort creates the bibentry's label via a call to calc.label, and then + % sorts the entries based on entry type. Chicago.bst adds support for + % including organizations as the sort key; the following is stolen from + % alpha.bst. + + %%: calc.label sortify % recalculate bibitem label + %%: year field.or.null purify$ #-1 #4 substring$ * % add year + %% " " + %% * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE { presort } + +SORT % by label, year, author/editor, title + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION { initialize.extra.label.stuff } +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +EXECUTE {initialize.extra.label.stuff} + +FUNCTION { begin.bib } +{ + %% Set to #0 show 13-digit ISBN in preference to 10-digit ISBN. + %% Set to #1 to show both 10-digit and 13-digit ISBNs. + #1 'show-isbn-10-and-13 := + + "%%% -*-BibTeX-*-" writeln + "%%% Do NOT edit. File created by BibTeX with style acmtrans-v2 [15-Nov-2008]." writeln + "" writeln + + preamble$ empty.or.unknown + 'skip$ + { preamble$ writeln } + if$ + "\begin{thebibliography}{" longest.label * "}" * writeln + "" writeln + "%%% ====================================================================" writeln + "%%% NOTE TO THE USER: you can override these defaults by providing" writeln + "%%% customized versions of any of these macros before the \bibliography" writeln + "%%% command. Each of them MUST provide its own final punctuation," writeln + "%%% except for \shownote{}, \showDOI{}, and \showURL{}. The latter two" writeln + "%%% do not use final punctuation, in order to avoid confusing it with" writeln + "%%% the Web address." writeln + "%%%" writeln + "%%% To suppress output of a particular field, define its macro to expand" writeln + "%%% to an empty string, or better, \unskip, like this:" writeln + "%%%" writeln + "%%% \newcommand{\showDOI}[1]{\unskip} % LaTeX syntax" writeln + "%%%" writeln + "%%% \def \showDOI #1{\unskip} % plain TeX syntax" writeln + "%%%" writeln + "%%% ====================================================================" writeln + "" writeln + + %% ACM publications do not use CODEN, ISSN, and LCCN data, so their default + %% macro wrappers expand to \unskip, discarding their values and unwanted + %% space. + %% + %% For other publications, prior definitions like these may be useful: + %% + %% Plain TeX: + %% \def \showCODEN #1{CODEN #1.} + %% \def \showISSN #1{ISSN #1.} + %% \def \showLCCN #1{LCCN #1.} + %% + %% LaTeX: + %% \newcommand{\showCODEN}[1]{CODEN #1.} + %% \newcommand{\showISSN}[1]#1{ISSN #1.} + %% \newcommand{\showLCCN}[1]{LCCN #1.} + + "\ifx \showCODEN \undefined \def \showCODEN #1{\unskip} \fi" writeln + "\ifx \showDOI \undefined \def \showDOI #1{{\tt DOI:}\penalty0{#1}\ } \fi" writeln + % ACM styles omit ISBNs, but they can be included by suitable definitions of + % \showISBNx and \showISBNxiii before the .bbl file is read + "\ifx \showISBNx \undefined \def \showISBNx #1{\unskip} \fi" writeln + "\ifx \showISBNxiii \undefined \def \showISBNxiii #1{\unskip} \fi" writeln + "\ifx \showISSN \undefined \def \showISSN #1{\unskip} \fi" writeln + "\ifx \showLCCN \undefined \def \showLCCN #1{\unskip} \fi" writeln + "\ifx \shownote \undefined \def \shownote #1{#1} \fi" writeln % NB: final period supplied by add.period$ above + "\ifx \showarticletitle \undefined \def \showarticletitle #1{#1} \fi" writeln + "\ifx \showURL \undefined \def \showURL #1{#1} \fi" writeln +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION { end.bib } +{ + newline$ + "\end{thebibliography}" + writeln +} + +EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/acmart/acm-alpha.bst b/Master/texmf-dist/bibtex/bst/acmart/acm-alpha.bst new file mode 100644 index 00000000000..5750ca02831 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/acmart/acm-alpha.bst @@ -0,0 +1,3339 @@ +%%% -*-BibTeX-*- +%%% ==================================================================== +%%% @BibTeX-style-file{ +%%% author = "Nelson H. F. Beebe and many others", +%%% version = "1.03", +%%% date = "15 April 2011", +%%% time = "23:52:46 EDT", +%%% filename = "acm-alpha.bst", +%%% address = "University of Utah +%%% Department of Mathematics, 110 LCB +%%% 155 S 1400 E RM 233 +%%% Salt Lake City, UT 84112-0090 +%%% USA", +%%% telephone = "+1 801 581 5254", +%%% FAX = "+1 801 581 4148", +%%% URL = "http://www.math.utah.edu/~beebe", +%%% checksum = "47407 3339 11966 90008", +%%% email = "beebe@math.utah.edu, beebe@acm.org, +%%% beebe@computer.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "ACM alpha bibliography style; BibTeX", +%%% license = "public domain", +%%% supported = "yes", +%%% abstract = "", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== + +% "ACM alpha" BibTeX style, derived by minimal modifications from acm-trans.bst +% "ACM Transactions" BibTeX style, acmtrans-v2.bst +% for BibTeX version 0.99c, LaTeX version 3.141 +% ACM extensions with code cleaned up, extended, and debugged 10--15-Nov-2008 +% Revised 28-MARCH-1996 +% Revised 30-JUNE-1995 +% Revised 15-JAN-1996 +% Revised 17-APRIL-2008 +% Revised 13-MARCH-2011 +% Revised 15-APRIL-2011 +% +% Hacked by John T. Boyland at University of California, Berkeley +% (with assistance by John R. Hauser) +% Hacked by Andrew W. Appel and Rebecca L. Davies at Princeton University, +% based on a "chicago.bst" by Glenn Paulley at U. Waterloo, +% which was based on "newapa.bst" found at ymir.claremont.edu. +% +% Version 2.2 +% Johny Sebatian and Sanjeev Sharma +% Aptara corp (c) 2008 +% +% History +% +% Date: 28th April 2008 +% +% 1. Avoid 'repeating' the 'month' values. +% 2. Avoid incorrectly italicizing the volume number. +% 3. Avoid non italicizing certain titles (book, inproceedings etc). +% 4. NO series if there is NO volume. +% 5. Sorting of reference with first surname. +% 6. Article no added for Inproceedings. +% +% Date: 07th May 2008 +% +% 1. Abbreviation list added +% +% Citation format: [author-last-name year] +% [author-last-name and author-last-name year] +% [author-last-name, author-last-name, and author-last-name year] +% [author-last-name et al. year] +% [author-last-name] +% author-last-name [year] +% [author-last-name and author-last-name] +% [author-last-name et al.] +% [year] or [year,year] +% year or year,year +% +% Reference list ordering: alphabetical by author or whatever passes +% for author in the absence of one. +% +% This BibTeX style has support for abbreviated author lists and for +% year-only citations. This is done by having the citations +% actually look like +% +% \citeauthoryear{full-author-info}{abbrev-author-info}{year} +% +% The LaTeX style has to have the following (or similar) +% +% \let\@internalcite\cite +% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite} +% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite} +% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite} +% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite} +% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite} +% +% These TeX macro definitions are found in acmtrans.sty. Additional +% commands to manipulate different components of a citation can be defined +% so that, for example, you can list author's names without parentheses +% if using a citation as a noun or object in a sentence. +% +% Features of acmtrans.bst: +% ======================== +% +% - all authors appear last name first. +% - all pages are listed xx-xx, (no pp.) and are at the end of the reference +% - publishers are identified as publisher, address +% - conferences papers (inproceedings) may give city of conference, +% date of conference, and journal that the proceedings appear in. +% - months abbreviated to max four letters (eg. Mar.) +% - volume of a series indicated after the title of the series +% - editors appear after edited title and are identified by a trailing "Eds." +% not in parentheses. Editor names are not given in small caps. +% (unless there is no author line) +% - names terminated with a period even if there is no first name. +% - editions are indicated trailing after the work, not in parentheses. +% - "et al." citations have a protected period to avoid bad spacing (jrh) +% - "address" required when publisher given +% - series (roman) and volume are in a sentence separate from (book-)title +% +% +% Features of chicago.bst: +% ======================= +% +% - full names used in citations, but abbreviated citations are available +% (see above) +% - if an entry has a "month", then the month and year are also printed +% as part of that bibitem. +% - all conjunctions use "and" instead of "\&" +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. +% - book, inbook, and manual use "location: publisher" (or organization) +% for address and publisher. All other types list publishers separately. +% - "pp." are used to identify page numbers for all entry types except +% articles. +% - organization is used as a citation label if neither author nor editor +% is present (for manuals). +% - "et al." is used for long author and editor lists, or when "others" +% is used. +% +% Modifications and bug fixes from newapa.bst: +% =========================================== +% +% - added month, year to bib entries if month is present +% - fixed bug with In proceedings, added necessary comma after title +% - all conjunctions changed to "and" from "\&" +% - fixed bug with author labels in my.full.label: "et al." now is +% generated when "others" is an author name +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. Unnecessary (IMHO) "()" around page numbers +% were removed, and page numbers now don't end with a period. +% - created chicago.sty for use with this bibstyle (required). +% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume, +% number, and /or pages. Renamed to format.journal.volume.number. +% - fixed bug in formatting booktitles: additional period an error if +% book has a volume. +% - fixed bug: editors usually given redundant period before next clause +% (format.editors.dot) removed. +% - added label support for organizations, if both author and editor +% are missing (from alpha.bst). If organization is too long, then +% the key field is used for abbreviated citations. +% - In proceedings or books of several volumes, no comma was written +% between the "Volume x" and the page numbers (this was intentional +% in newapa.bst). Fixed. +% - Some journals may not have volumes/numbers, only month/year (eg. +% IEEE Computer). Fixed bug in article style that assumed volume/number +% was always present. +% +% Original documentation for newapa.sty: +% ===================================== +% +% This version was made by modifying the master file made by +% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX +% style of Peter F. Patel-Schneider. +% +% Copyright (C) 1985, all rights reserved. +% Copying of this file is authorized only if either +% (1) you make absolutely no changes to your copy, including name, or +% (2) if you do make changes, you name it something other than 'newapa.bst'. +% There are undoubtably bugs in this style. If you make bug fixes, +% improvements, etc. please let me know. My e-mail address is: +% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com +% +% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst', +% with lots of tweaking to make it look like APA style, along with tips +% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'. + +ENTRY + { address + advisor + author + booktitle + chapter + city % jtb: added + date % jtb: added + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + % New keys recognized for acmtrans-v2.bst + issue % UTAH: used in, e.g., ACM SIGSAM Bulletin and ACM Communications in Computer Algebra + articleno + day % UTAH: needed for newspapers, weeklies, bi-weeklies + doi % UTAH + url % UTAH + bookpages % UTAH + numpages + lastaccessed % UTAH: used only for @Misc{...} + coden % UTAH + isbn % UTAH + isbn-13 % UTAH + issn % UTAH + lccn % UTAH + } + {} + { label label.year extra.label sort.year sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { show-isbn-10-and-13 } % initialized below in begin.bib + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { multiresult } + +INTEGERS { len } + +STRINGS { s t t.org u } + +STRINGS { last.label } + +STRINGS { p1 p2 p3 page.count } + +FUNCTION { dump.stack.1 } +{ + duplicate$ "STACK[top] = [" swap$ * "]" * warning$ +} + +FUNCTION { dump.stack.2 } +{ + duplicate$ "STACK[top ] = [" swap$ * "]" * warning$ + swap$ + duplicate$ "STACK[top-1] = [" swap$ * "]" * warning$ + swap$ +} + +FUNCTION { empty.or.unknown } +{ + %% Examine the top stack entry, and push 1 if it is empty, or + %% consists only of whitespace, or is a string beginning with two + %% queries (??), and otherwise, push 0. + %% + %% This function provides a replacement for empty$, with the + %% convenient feature that unknown values marked by two leading + %% queries are treated the same as missing values, and thus, do not + %% appear in the output .bbl file, and yet, their presence in .bib + %% file(s) serves to mark values which are temporarily missing, but + %% are expected to be filled in eventually once more data is + %% obtained. The TeX User Group and BibNet bibliography archives + %% make extensive use of this practice. + %% + %% An empty string cannot serve the same purpose, because just as in + %% statistics data processing, an unknown value is not the same as an + %% empty value. + %% + %% At entry: stack = ... top:[string] + %% At exit: stack = ... top:[0 or 1] + + duplicate$ empty$ + { pop$ #1 } + { #1 #2 substring$ "??" = } + if$ +} + +FUNCTION { writeln } +{ + %% In BibTeX style files, the sequences + %% + %% ... "one" "two" output + %% ... "one" "two" output.xxx + %% + %% ship "one" to the output file, possibly following by punctuation, + %% leaving the stack with + %% + %% ... "two" + %% + %% There is thus a one-string lag in output processing that must be + %% carefully handled to avoid duplicating a string in the output + %% file. Unless otherwise noted, all output.xxx functions leave + %% just one new string on the stack, and that model should be born + %% in mind when reading or writing function code. + %% + %% BibTeX's asynchronous buffering of output from strings from the + %% stack is confusing because newline$ bypasses the buffer. It + %% would have been so much easier for newline to be a character + %% rather than a state of the output-in-progress. + %% + %% The documentation in btxhak.dvi is WRONG: it says + %% + %% newline$ Writes onto the bbl file what's accumulated in the + %% output buffer. It writes a blank line if and only + %% if the output buffer is empty. Since write$ does + %% reasonable line breaking, you should use this + %% function only when you want a blank line or an + %% explicit line break. + %% + %% write$ Pops the top (string) literal and writes it on the + %% output buffer (which will result in stuff being + %% written onto the bbl file when the buffer fills + %% up). + %% + %% Examination of the BibTeX source code shows that write$ does + %% indeed behave as claimed, but newline$ sends a newline character + %% directly to the output file, leaving the stack unchanged. The + %% first line "Writes onto ... buffer." is therefore wrong. + %% + %% The original BibTeX style files almost always use "write$ newline$" + %% in that order, so it makes sense to hide that pair in a private + %% function like this one, named after a statement in Pascal, + %% the programming language embedded in the BibTeX Web program. + + write$ % output top-of-stack string + newline$ % immediate write of newline (not via stack) +} + +FUNCTION { init.state.consts } +{ + #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +FUNCTION { output.nonnull } +{ % Stack in: ... R S T Stack out: ... R T File out: S<comma><space> + 's := + output.state mid.sentence = + { + ", " * write$ + } + { + output.state after.block = + { + add.period$ writeln + "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.dot.space } +{ % Stack in: ... R S T Stack out: ... R T File out: S<dot><space> + 's := + output.state mid.sentence = % { "<DEBUG output.nonnull.dot.space>. " * write$ } + { + ". " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.remove } +{ % Stack in: ... R S T Stack out: ... R T File out: S<space> + 's := + output.state mid.sentence = + { + " " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.removenospace } +{ % Stack in: ... R S T Stack out: ... R T File out: S + 's := + output.state mid.sentence = + { + "" * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output } +{ % discard top token if empty, else like output.nonnull + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION { output.dot.space } +{ % discard top token if empty, else like output.nonnull.dot.space + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.dot.space + if$ +} + +FUNCTION { output.removenospace } +{ % discard top token if empty, else like output.nonnull.removenospace + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.removenospace + if$ +} + +FUNCTION { output.check } +{ % like output, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION { output.check.dot.space } +{ % like output.dot.space, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.dot.space + if$ +} + +FUNCTION { fin.block } +{ % functionally, but not logically, identical to fin.entry + add.period$ + writeln +} + +FUNCTION { fin.entry } +{ + add.period$ + writeln +} + +FUNCTION { new.sentence } +{ % update sentence state, with neither output nor stack change + output.state after.block = + 'skip$ + { + output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION { fin.sentence } +{ + add.period$ + write$ + new.sentence + "" +} + +FUNCTION { new.block } +{ + output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION { output.coden } % UTAH +{ % output non-empty CODEN as one-line sentence (stack untouched) + coden empty.or.unknown + { } + { "\showCODEN{" coden * "}" * writeln } + if$ +} + +FUNCTION { format.articleno } +{ + articleno empty.or.unknown + { "" } + { + numpages empty.or.unknown + { "articleno field, but no numpages field, in " cite$ * warning$ } + { } + if$ + "Article " articleno * + } + if$ +} + +FUNCTION { format.year } +{ % push year string or "????" onto output stack + %% Because year is a mandatory field, we always force SOMETHING + %% to be output + year empty.or.unknown + { "????" } + { year } + if$ +} + +FUNCTION { format.day.month } +{ % push "day month " or "month " or "" onto output stack + day empty.or.unknown + { + month empty.or.unknown + { "" } + { month " " *} + if$ + } + { + month empty.or.unknown + { "" } + { day " " * month * " " *} + if$ + } + if$ +} + +FUNCTION { format.day.month.year } % UTAH +{ % if month is empty, push "" else push "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + % acm-*.bst addition: prefix parenthesized date string with + % ", Article nnn " + articleno empty.or.unknown + { "" } + { ", " format.articleno * } + if$ + " (" * format.day.month * format.year * ")" * +} + +FUNCTION { output.day.month.year } % UTAH +{ % if month is empty value, do nothing; else output stack top and + % leave with new top string "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + format.day.month.year + output.nonnull.remove +} + +FUNCTION { strip.doi } % UTAH +{ % Strip any Web address prefix to recover the bare DOI, leaving the + % result on the output stack, as recommended by CrossRef DOI + % documentation. + % For example, reduce "http://doi.acm.org/10.1145/1534530.1534545" to + % "10.1145/1534530.1534545". That is later typeset and displayed as + % doi:10.1145/1534530.1534545 as the LAST item in the reference list + % entry. Publisher Web sites wrap this with a suitable link to a real + % URL to resolve the DOI, and the master http://dx.doi.org/ address is + % preferred, since publisher-specific URLs can disappear in response + % to economic events. All journals are encouraged by the DOI + % authorities to use that typeset format and link procedures for + % uniformity across all publications that include DOIs in reference + % lists. + % The numeric prefix is guaranteed to start with "10.", so we use + % that as a test. + doi #1 #3 substring$ "10." = + { doi } + { + doi #1 #7 substring$ "http://" = + { + doi #8 doi text.length$ #7 - substring$ 't := % get modifiable copy of rest of DOI + + "INTERNAL STYLE-FILE ERROR" 's := + + % search for next "/" and assign its suffix to s + + { t text.length$ } + { + t #1 #1 substring$ "/" = + { + % save rest of string as true DOI (should be 10.xxxx/yyyy) + t #2 t text.length$ #1 - substring$ 's := + "" 't := % empty string t terminates the loop + } + { + % discard first character and continue loop: t <= substring(t,2,last) + t #2 t text.length$ #1 - substring$ 't := + } + if$ + } + while$ + + % check for valid DOI (should be 10.xxxx/yyyy) + s #1 #3 substring$ "10." = + { } + { "unrecognized DOI substring " s * " in DOI value [" * doi * "]" * warning$ } + if$ + + s % push the stripped DOI on the output stack + + } + { + "unrecognized DOI value [" doi * "]" * warning$ + doi % push the unrecognized original DOI on the output stack + } + if$ + } + if$ +} + +% +% Change by BV: added standard prefix to URL +% +FUNCTION { output.doi } % UTAH +{ % output non-empty DOI as one-line sentence (stack untouched) + doi empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which then requires + %% manual (or automated) editing of the .bbl file to repair. + %% The \url{} macro strips percent-newlines, and is thus safe in + %% the presence of the line wrapping, but \path|...| and + %% \verb|...| do not. + "\showDOI{%" writeln + "\url{http://dx.doi.org/" strip.doi * "}}" * writeln + } + if$ +} + +FUNCTION { output.isbn } % UTAH +{ % output non-empty ISBN-10 and/or ISBN-13 as one-line sentences (stack untouched) + show-isbn-10-and-13 + { + %% show both 10- and 13-digit ISBNs + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + isbn-13 empty.or.unknown + { } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + { + %% show 10-digit ISBNs only if 13-digit ISBNs not available + isbn-13 empty.or.unknown + { + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + if$ +} + +FUNCTION { output.issn } % UTAH +{ % output non-empty ISSN as one-line sentence (stack untouched) + issn empty.or.unknown + { } + { "\showISSN{" issn * "}" * writeln } + if$ +} + +FUNCTION { output.issue } +{ % output non-empty issue number as a one-line sentence (stack untouched) + issue empty.or.unknown + { } + { "Issue " issue * "." * writeln } + if$ +} + +FUNCTION { output.lccn } % UTAH +{ % return with stack untouched + lccn empty.or.unknown + { } + { "\showLCCN{" lccn * "}" * writeln } + if$ +} + +FUNCTION { output.note } % UTAH +{ % return with stack empty + note empty.or.unknown + { } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +FUNCTION { output.note.check } % UTAH +{ % return with stack empty + note empty.or.unknown + { "empty note in " cite$ * warning$ } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +% +% Changes by BV 2011/04/15. Do not output +% url if doi is defined +% +FUNCTION { output.url } % UTAH +{ % return with stack untouched + % output URL and associated lastaccessed fields + doi empty.or.unknown + { + url empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which would require + %% manual (or automated) editing of the .bbl file to repair. However, + %% the \url{} macro handles the unwrapping job automatically. + "\showURL{%" writeln + lastaccessed empty.or.unknown + { "" } + { "Retrieved " lastaccessed * " from " * } + if$ + + %% The URL field may contain a semicolon-separated list of Web + %% addresses, and we locate and wrap each of them in \url{...}. + %% The simplistic approach of putting the entire list into the + %% macro argument is that the semicolons are typeset in a + %% typewriter font, and no space follows them. + %% + %% We therefore replace the original code + %% "\url{" * url * "}}" * writeln + %% with this character-at-a-time loop: + + "\url{" * + + url 't := % get modifiable copy of URL list + + { t text.length$ } + { + t #1 #1 substring$ ";" = + { % then split argument at separator + "};" * writeln + "\url{" + } + { % else concatenate nonblank character to argument + t #1 #1 substring$ " " = + { } + { t #1 #1 substring$ * } + if$ + } + if$ + + t #2 t text.length$ #1 - substring$ 't := + } + while$ + + "}}" * writeln + } + if$ + } + { } + if$ +} + +FUNCTION { output.year.check } +{ % warn if year empty, else output top string and leave " YEAR<label>" on stack in mid-sentence + year empty.or.unknown + { "empty year in " cite$ * warning$ } + { write$ + " " year * extra.label * + mid.sentence 'output.state := + } + if$ +} + +FUNCTION { not } +{ + { #0 } + { #1 } + if$ +} + +FUNCTION { and } +{ + 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION { or } +{ + { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION { le } +{ + %% test whether first number is less than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 <= n2 then 1 else 0 + + %% "DEBUG: le " cite$ * warning$ + > { #0 } { #1 } if$ +} + +FUNCTION { ge } +{ + %% test whether first number is greater than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 >= n2 then 1 else 0 + + %% "DEBUG: ge " cite$ * warning$ + < { #0 } { #1 } if$ +} + +FUNCTION { is.leading.digit } +{ + %% test whether first character of string is a digit + %% stack in: string + %% stack out: if first-char-is-digit then 1 else 0 + + #1 #1 substring$ % replace string by string[1:1] + duplicate$ % string[1:1] string[1:1] + chr.to.int$ + "0" chr.to.int$ swap$ le % "0" <= string[1:1] --> 0-or-1 + swap$ % 0-or-1 string[1:1] + chr.to.int$ + "9" chr.to.int$ le % string[1:1} <= "9" --> 0-or-1 + and +} + +FUNCTION { skip.digits } +{ + %% skip over leading digits in string + %% stack in: string + %% stack out: rest-of-string leading-digits + + %% "DEBUG: enter skip.digits " cite$ * warning$ + + %% dump.stack.1 + + duplicate$ + 't := + 't.org := + "" 'u := + + { t text.length$ } + { + %% "=================DEBUG: skip.digits t = [" t * "]" * warning$ + t is.leading.digit + { t #2 t text.length$ #1 - substring$ } + { + t 'u := + "" + } + if$ + 't := + } + while$ + + u % rest of string + t.org #1 t.org text.length$ u text.length$ - substring$ % leading digits + + %% "DEBUG: t.org = [" t.org * "]" * warning$ + %% "DEBUG: u = [" u * "]" * warning$ + + %% dump.stack.2 + + %% "DEBUG: leave skip.digits " cite$ * warning$ +} + +FUNCTION { skip.nondigits } +{ + %% skip over leading nondigits in string + %% stack in: string + %% stack out: rest-of-string + + %% "DEBUG: enter skip.nondigits " cite$ * warning$ + + 't := + "" 'u := + + { t text.length$ } + { + %% "=================DEBUG: skip.nondigits t = [" t * "]" * warning$ + t is.leading.digit + { + t 'u := + "" + } + { t #2 t text.length$ #1 - substring$ } + if$ + 't := + } + while$ + + u % rest of string + + %% dump.stack.1 + %% "DEBUG: leave skip.nondigits " cite$ * warning$ +} + +FUNCTION { parse.next.number } +{ + %% stack in: string + %% stack out: rest-of-string next-numeric-part-of-string + %% Example: + %% stack in: "123:1--123:59" + %% stack out: ":1--123:59" "123" + + 's := + s skip.nondigits 's := + s skip.digits +} + +FUNCTION { reduce.pages.to.page.count } +{ + %% Stack in: arbitrary-and-unused + %% Stack out: unchanged + %% + %% For the new-style pagination with article number and numpages or + %% pages, we expect to have BibTeX entries containing something like + %% articleno = "17", + %% pages = "1--23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% numpages = "23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% pages = "17:1--17:23", + %% with output "Article 17, 23 pages", + %% + %% If articleno is missing or empty, then we should output "1--23", + %% "23" (with a warning of a missing articleno), or "17:1--17:23", + %% respectively. + + %% "DEBUG: enter reduce.pages.to.page.count " cite$ * warning$ + + %% "DEBUG: pages = [" pages * "]" * warning$ + + pages + parse.next.number 'p1 := + parse.next.number 'p2 := + parse.next.number 'p3 := + parse.next.number 'page.count := + + duplicate$ + empty.or.unknown + { } + { + duplicate$ "unexpected trailing garbage [" swap$ * + "] after n:p1--n:p2 in pages = [" * + pages * + "] in " * + cite$ * + warning$ + } + if$ + + pop$ + + %% "DEBUG: reduce.pages.to.page.count: " + %% " p1 = " p1 * * + %% " p2 = " p2 * * + %% " p3 = " p3 * * + %% " p4 = " page.count * * + %% " in " cite$ * * warning$ + + p1 p3 = p2 "1" = and numpages empty.or.unknown and + { "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + p1 "1" = p3 empty.or.unknown and numpages empty.or.unknown and + { + p2 'page.count := + "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ + } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + %% "DEBUG: leave reduce.pages.to.page.count " cite$ * warning$ +} + +FUNCTION { new.block.checkb } +{ % issue a new.block only if at least one of top two stack strings is not empty + empty.or.unknown + swap$ empty.or.unknown + and + 'skip$ + 'new.block + if$ +} + +FUNCTION { field.or.null } +{ % convert empty value to null string, else return value + duplicate$ empty.or.unknown + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION { emphasize } +{ % emphasize a non-empty top string on the stack (WITHOUT italic correction) + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION { emphasize.with.italic.correction } +{ % convert empty string to null string, or emphasize with a trailing italic correction + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} + +FUNCTION { comma } +{ % convert empty string to null string, or brace string and add trailing comma + duplicate$ empty.or.unknown + { pop$ "" } + { "{" swap$ * "}," * } + if$ +} + +FUNCTION { format.names } +{ + % Format bibliographical entries with the first author last name first, + % and subsequent authors with initials followed by last name. + % All names are formatted in this routine. + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 = + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + {"{" s nameptr "{ff }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + {"{" s nameptr "{ff }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + if$ + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{\sc others}" = + { " {et~al\mbox{.}}" * } % jrh: avoid spacing problems + { " {and} " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { my.full.label } +{ + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ + +} + +FUNCTION { format.names.fml } +{ + % Format names in "familiar" format, with first initial followed by + % last name. Like format.names, ALL names are formatted. + % jtb: The names are NOT put in small caps + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { + "{" s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ * "}" * 't := + + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{others}" = + { " {et~al\mbox{.}}" * } + { " {and} " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { format.authors } +{ + author empty.or.unknown + { "" } + { author format.names add.period$} % jtb: add period if none before + if$ +} + +FUNCTION { format.key } +{ + empty.or.unknown + { key field.or.null } + { "" } + if$ +} + +FUNCTION { format.no.key } +{ + empty.or.unknown + { "" } + { "" } + if$ +} + +FUNCTION { format.editors.fml } +{ + % Format editor names for use in the "in" types: inbook, incollection, + % inproceedings: first initial, then last names. When editors are the + % LABEL for an entry, then format.editor is used which lists editors + % by last name first. + + editor empty.or.unknown + { "" } + { + editor format.names.fml editor num.names$ #1 > + { " (Eds.)" * } + { " (Ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.editors } +{ % format editor names for use in labels, last names first. + editor empty.or.unknown + { "" } + { + editor format.names + editor num.names$ #1 > + { " (Eds.)." * } + { " (Ed.)." * } + if$ + } + if$ +} + +FUNCTION { format.articletitle } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { "\showarticletitle{" title * "}" * } + % Use this for downcase title style: + % { \showarticletitle{" title "t" change.case$ * "}" * } + if$ +} + +FUNCTION { format.title } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { title } + % Use this for downcase title style: + % { title "t" change.case$ } + if$ +} + +FUNCTION { n.dashify } +{ + 't := + "" + { t empty.or.unknown not } + { + t #1 #1 substring$ "-" = + { + t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { + { t #1 #1 substring$ "-" = } + { + "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { + t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION { format.btitle } +{ + edition empty.or.unknown + { title emphasize } + { title empty.or.unknown + { title emphasize } % jtb: what is this supposed to do ?!? + { "{\em " title * "\/} (" * edition "l" change.case$ * " ed.)" * } % jtb: no parens for ed. + if$ + } + if$ +} + +FUNCTION { format.emphasize.booktitle } +{ % push "" or "{\em booktitle}" or "{\em booktitle}, (second ed.)" on stack + edition empty.or.unknown + { booktitle emphasize } + { booktitle empty.or.unknown + { "" } + { "{\em " booktitle * "} (" * edition "l" change.case$ * " ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.city } +{ + % jtb: if the preceding string (the title of the conference) is non-empty, + % jtb: append the location, otherwise leave empty (so as to trigger the + % jtb: error message in output.check + + duplicate$ empty.or.unknown + { } + { + city empty.or.unknown + { + date empty.or.unknown + { } + { " (" * date * ")" * } + if$ + } + { + date empty.or.unknown + { " (" * city * ")" * } + { " (" * city * ", " * date * ")" * } + if$ + } + if$ + } + if$ +} + +FUNCTION { tie.or.space.connect } +{ + duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION { either.or.check } +{ + empty.or.unknown + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION { format.bvolume } +{ + % jtb: If there is a series, this is added and the volume trails after it. + % jtb: Otherwise, "Vol" is Capitalized. + + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.bvolume.noseries } +{ + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { "Vol." volume tie.or.space.connect} +% { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.series } +{ + series empty.or.unknown + {""} + {" {\em (" * series ")}" *} + if$ +} + +FUNCTION { format.number.series } +{ + volume empty.or.unknown + { + number empty.or.unknown + { + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "" } + { " (" series * ")" * } + if$ + } + if$ + } % { series field.or.null } + { + output.state mid.sentence = + { "Number" } % gnp - changed to mixed case always + { "Number" } + if$ + number tie.or.space.connect series empty.or.unknown + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { + "" + } + if$ +} + +FUNCTION { multi.page.check } +{ + 't := + #0 'multiresult := + { multiresult not + t empty.or.unknown not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION { format.pages } +{ + pages empty.or.unknown + { "" } + { + pages multi.page.check + { pages n.dashify } % gnp - removed () % jtb: removed pp. + { pages } + if$ + } + if$ +} + +FUNCTION { format.pages.check.without.articleno } +{ %% format pages field only if articleno is absent + %% Stack out: pages-specification + numpages missing$ pages missing$ and + { "page numbers missing in both pages and numpages fields in " cite$ * warning$ } + { } + if$ + + articleno empty.or.unknown + { + pages missing$ + { numpages } + { format.pages } + if$ + } + { "" } + if$ +} + +FUNCTION { format.pages.check } +{ + pages empty.or.unknown + { "page numbers missing in " cite$ * warning$ "" } + { pages n.dashify } + if$ +} + +FUNCTION { format.bookpages } +{ + bookpages empty.or.unknown + { "" } + { bookpages "book pages" tie.or.space.connect } + if$ +} + +FUNCTION { format.named.pages } +{ + pages empty.or.unknown + { "" } + { format.pages "pages" tie.or.space.connect } + if$ +} + +% +% Changed by Boris Veytsman, 2011-03-13 +% Now the word "pages" is printed even if +% there field pages is not empty. +% + +FUNCTION { format.page.count } +{ + page.count empty.or.unknown + { "" } + { + articleno empty.or.unknown + { "numpages field, but no articleno field, in " cite$ * warning$ } + { } + if$ + page.count "pages" tie.or.space.connect + } + if$ +} + +FUNCTION { format.articleno.numpages } +{ + %% There are seven possible outputs, depending on which fields are set. + %% + %% These four are handled here: + %% + %% articleno, numpages, pages -> "Article articleno-value, numpages-value pages" + %% articleno, numpages -> "Article articleno-value, numpages-value pages" + %% articleno, pages -> "Article articleno-value, reduced-pages-value pages" + %% articleno -> "Article articleno-value" and warn about missing numpages + %% + %% The remaining three have already been handled by + %% format.pages.check.without.articleno: + %% + %% numpages, pages -> "pages-value" + %% numpages -> "numpages-value" + %% pages -> "pages-value" + + articleno empty.or.unknown + { + numpages empty.or.unknown + { } + { "require articleno with numpages field in " cite$ * warning$ } + if$ + "" + } + { + numpages empty.or.unknown + { + pages empty.or.unknown + { + "require pages or numpages fields with articleno field in " cite$ * warning$ + "" 'page.count := + } + { reduce.pages.to.page.count } + if$ + } + { numpages 'page.count := } + if$ + + %% The Article number is now handled in format.day.month.year because + %% ACM prefers the style "Digital Libraries 12, 3, Article 5 (July 2008)" + %% over "Digital Libraries 12, 3 (July 2008), Article 5" + %% format.articleno output + format.page.count + } + if$ +} + +FUNCTION { format.journal.volume.number.day.month.year } +{ + % By Young (and Spencer) + % GNP - fixed bugs with missing volume, number, and/or pages + % + % Format journal, volume, number, pages for article types. + % + journal empty.or.unknown + { "no journal in " cite$ * warning$ + "" } +% { journal emphasize.with.italic.correction } + { + journal "Journal of the ACM" = + { "{\it J. ACM}" } + { + journal "American Mathematical Society Translations" = + { "{\it Amer. Math. Soc. Transl.}" } + { + journal "Bulletin of the American Mathematical Society" = + { "{\it Bull. Amer. Math. Soc.}" } + { + journal "Proceedings of the American Mathematical Society" = + { "{\it Proc. Amer. Math. Soc.}" } + { + journal "Transactions of the American Mathematical Society" = + { "{\it Trans. Amer. Math. Soc.}" } + { + journal "Communications of the {ACM}" = + { "{\it Commun. {ACM}}" } + { + journal "{ACM} Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "{ACM} Transactions on Mathematical Software" = + { "{\it {ACM} Trans. Math. Software}" } + { + journal "{ACM} {SIGNUM} Newsletter" = + { "{\it {ACM} {SIGNUM} Newslett.}" } + { + journal "American Journal of Sociology" = + { "{\it Amer. J. Sociology}" } + { + journal "Journal of the American Statistical Association" = + { "{\it J. Amer. Statist. Assoc.}" } + { + journal "Applied Mathematics and Computation" = + { "{\it Appl. Math. Comput.}" } + { + journal "American Mathematical Monthly" = + { "{\it Amer. Math. Monthly}" } + { + journal "British Journal of Mathematical and Statistical Psychology" = + { "{\it Brit. J. Math. Statist. Psych.}" } + { + journal "Canadian Mathematical Bulletin" = + { "{\it Canad. Math. Bull.}" } + { + journal "Journal of Computational and Applied Mathematics" = + { "{\it J. Comput. Appl. Math.}" } + { + journal "Journal of Computational Physics" = + { "{\it J. Comput. Phys.}" } + { + journal "Computers and Structures" = + { "{\it Comput. \& Structures}" } + { + journal "The Computer Journal" = + { "{\it Comput. J.}" } + { + journal "Journal of Computer and System Sciences" = + { "{\it J. Comput. System Sci.}" } + { + journal "Contemporary Mathematics" = + { "{\it Contemp. Math.}" } + { + journal "Crelle's Journal" = + { "{\it Crelle's J.}" } + { + journal "Giornale di Mathematiche" = + { "{\it Giorn. Mat.}" } + { + journal "{IEEE} Transactions on Computers" = + { "{\it {IEEE} Trans. Comput.}" } + { + journal "{IEEE} Transactions on Automatic Control" = + { "{\it {IEEE} Trans. Automat. Control}" } + { + journal "Proceedings of the {IEEE}" = + { "{\it Proc. {IEEE}}" } + { + journal "{IEEE} Transactions on Aerospace and Electronic Systems" = + { "{\it {IEEE} Trans. Aerospace Electron. Systems}" } + { + journal "{IMA} Journal of Numerical Analysis" = + { "{\it {IMA} J. Numer. Anal.}" } + { + journal "Information Processing Letters" = + { "{\it Inform. Process. Lett.}" } + { + journal "Journal of the Institute of Mathematics and its Applications" = + { "{\it J. Inst. Math. Appl.}" } + { + journal "International Journal of Control" = + { "{\it Internat. J. Control}" } + { + journal "International Journal for Numerical Methods in Engineering" = + { "{\it Internat. J. Numer. Methods Engrg.}" } + { + journal "International Journal of Supercomputing Applications" = + { "{\it Internat. J. Supercomputing Applic.}" } + { + journal "Journal of Research of the National Bureau of Standards" = + { "{\it J. Res. Nat. Bur. Standards}" } + { + journal "Linear Algebra and its Applications" = + { "{\it Linear Algebra Appl.}" } + { + journal "Journal of Mathematical Analysis and Applications" = + { "{\it J. Math. Anal. Appl.}" } + { + journal "Mathematische Annalen" = + { "{\it Math. Ann.}" } + { + journal "Journal of Mathematical Physics" = + { "{\it J. Math. Phys.}" } + { + journal "Mathematics of Computation" = + { "{\it Math. Comp.}" } + { + journal "Mathematica Scandinavica" = + { "{\it Math. Scand.}" } + { + journal "Mathematical Tables and Other Aids to Computation" = + { "{\it Math. Tables Aids Comput.}" } + { + journal "Numerische Mathematik" = + { "{\it Numer. Math.}" } + { + journal "Pacific Journal of Mathematics" = + { "{\it Pacific J. Math.}" } + { + journal "Journal of Parallel and Distributed Computing" = + { "{\it J. Parallel and Distrib. Comput.}" } + { + journal "Parallel Computing" = + { "{\it Parallel Comput.}" } + { + journal "Philosophical Magazine" = + { "{\it Philos. Mag.}" } + { + journal "Proceedings of the National Academy of Sciences of the USA" = + { "{\it Proc. Nat. Acad. Sci. U. S. A.}" } + { + journal "Quarterly Journal of Mathematics, Oxford, Series (2)" = + { "{\it Quart. J. Math. Oxford Ser. (2)}" } + { + journal "Quarterly of Applied Mathematics" = + { "{\it Quart. Appl. Math.}" } + { + journal "Review of the International Statisical Institute" = + { "{\it Rev. Inst. Internat. Statist.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics" = + { "{\it J. Soc. Indust. Appl. Math.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics, Series B, Numerical Analysis" = + { "{\it J. Soc. Indust. Appl. Math. Ser. B Numer. Anal.}" } + { + journal "{SIAM} Journal on Algebraic and Discrete Methods" = + { "{\it {SIAM} J. Algebraic Discrete Methods}" } + { + journal "{SIAM} Journal on Applied Mathematics" = + { "{\it {SIAM} J. Appl. Math.}" } + { + journal "{SIAM} Journal on Computing" = + { "{\it {SIAM} J. Comput.}" } + { + journal "{SIAM} Journal on Matrix Analysis and Applications" = + { "{\it {SIAM} J. Matrix Anal. Appl.}" } + { + journal "{SIAM} Journal on Numerical Analysis" = + { "{\it {SIAM} J. Numer. Anal.}" } + { + journal "{SIAM} Review" = + { "{\it {SIAM} Rev.}" } + { + journal "{SIAM} Journal on Scientific and Statistical Computing" = + { "{\it {SIAM} J. Sci. Statist. Comput.}" } + { + journal "Software Practice and Experience" = + { "{\it Software Prac. Experience}" } + { + journal "Statistical Science" = + { "{\it Statist. Sci.}" } + { + journal "{USSR} Computational Mathematics and Mathematical Physics" = + { "{\it {U. S. S. R.} Comput. Math. and Math. Phys.}" } + { + journal "Journal of {VLSI} and Computer Systems" = + { "{\it J. {VLSI} Comput. Syst.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Mechanik" = + { "{\it Z. Angew. Math. Mech.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Physik" = + { "{\it Z. Angew. Math. Phys.}" } + { + journal "ACM Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "ACM Transactions on Mathematical Software" = + { "{\it ACM Trans. Math. Software}" } + { + journal "ACM {SIGNUM} Newsletter" = + { "{\it ACM {SIGNUM} Newslett.}" } + { + journal "IEEE Transactions on Computers" = + { "{\it IEEE Trans. Comput.}" } + { + journal "IEEE Transactions on Automatic Control" = + { "{\it IEEE Trans. Automat. Control}" } + { + journal "Proceedings of the IEEE" = + { "{\it Proc. IEEE}" } + { + journal "IEEE Transactions on Aerospace and Electronic Systems" = + { "{\it IEEE Trans. Aerospace Electron. Systems}" } + { + journal "IMA Journal of Numerical Analysis" = + { "{\it IMA J. Numer. Anal.}" } + { + journal "SIAM Journal on Algebraic and Discrete Methods" = + { "{\it SIAM J. Algebraic Discrete Methods}" } + { + journal "SIAM Journal on Applied Mathematics" = + { "{\it SIAM J. Appl. Math.}" } + { + journal "SIAM Journal on Computing" = + { "{\it SIAM J. Comput.}" } + { + journal "SIAM Journal on Matrix Analysis and Applications" = + { "{\it SIAM J. Matrix Anal. Appl.}" } + { + journal "SIAM Journal on Numerical Analysis" = + { "{\it SIAM J. Numer. Anal.}" } + { + journal "SIAM Review" = + { "{\it SIAM Rev.}" } + { + journal "SIAM Journal on Scientific and Statistical Computing" = + { "{\it SIAM J. Sci. Statist. Comput.}" } + { + journal "USSR Computational Mathematics and Mathematical Physics" = + { "{\it U. S. S. R. Comput. Math. and Math. Phys.}" } + { + journal "Journal of VLSI and Computer Systems" = + { "{\it J. VLSI Comput. Syst.}" } + { + journal "Communications of the ACM" = + { "{\it Commun. ACM}" } + %% If no match with cases needing special handling, just output journal name + { journal emphasize.with.italic.correction } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + + number empty.or.unknown + { + volume empty.or.unknown + { "no number and no volume in " cite$ * warning$ "" * } + { " " * " {" * volume * "}" * } + if$ + } + { + volume empty.or.unknown + { + "unusual to have number, but no volume, for " cite$ * warning$ + " " * number * + } + { " " * volume comma " " * number * * } + if$ + } + if$ + + format.day.month.year * +} + +FUNCTION { format.chapter.pages } +{ + chapter empty.or.unknown + 'format.pages + { type empty.or.unknown + { "Chapter" } % gnp - changed to mixed case + { type "t" change.case$ } + if$ + chapter tie.or.space.connect + pages empty.or.unknown + {"page numbers missing in " cite$ * warning$} % gnp - added check + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION { format.in.emphasize.booktitle } +{ % jtb: format for collections or proceedings not appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " format.emphasize.booktitle * } + if$ +} + +FUNCTION { format.in.booktitle } +{ % jtb: format for proceedings appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " booktitle * } + if$ +} + +FUNCTION { format.in.ed.booktitle } +{ + booktitle empty.or.unknown + { "" } + { editor empty.or.unknown + { "In " format.emphasize.booktitle * } + % jtb: swapped editor location + { "In " format.emphasize.booktitle * ", " * format.editors.fml * } + if$ + } + if$ +} + +FUNCTION { format.thesis.type } +{ % call with default type on stack top + type empty.or.unknown + 'skip$ % use default type + { + pop$ % discard default type + % NO: it is silly to have to brace protect every degree type!: type "t" change.case$ + type + } + if$ +} + +FUNCTION { format.tr.number } +{ + type empty.or.unknown + { "Tech. Rep." } + 'type + if$ + number empty.or.unknown + { "t" change.case$ } + %% LOOKS BAD: { "." * number tie.or.space.connect } + %% Prefer "Research report RJ687." to "Research report. RJ687." + { number tie.or.space.connect } + if$ +} + +FUNCTION { format.advisor } +{ + advisor empty.or.unknown + { "" } + { "Advisor(s) " advisor * } + if$ +} + +FUNCTION { format.article.crossref } +{ "See" + "\cite{" * crossref * "}" * +} + +FUNCTION { format.crossref.editor } +{ + editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al\mbox{.}" * } % jrh: avoid spacing problems + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION { format.book.crossref } +{ + volume empty.or.unknown + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect % gnp - changed to mixed case + " of " * + } + if$ + editor empty.or.unknown + editor field.or.null author field.or.null = + or + { key empty.or.unknown + { series empty.or.unknown + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION { format.incoll.inproc.crossref } +{ "See" + " \cite{" * crossref * "}" * +} + +FUNCTION { output.bibitem } +{ + newline$ + "\bibitem[" write$ + label write$ + "]%" writeln + " {" write$ + cite$ write$ + "}" writeln + "" + before.all 'output.state := +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url } +{ % enter and return with stack empty + %% We switch now from buffered output to output of complete lines, so + %% that the Issue .. URL data have their own lines, and are less likely + %% to be line-wrapped by BibTeX's short-sighted algorithm, which wraps + %% lines longer than 79 characters, backtracking to what it thinks is + %% a break point in the string. Any such wrapping MUST be undone to + %% prevent percent-newline from appearing in DOIs and URLs. The + %% output data are intentionally wrapped in \showxxx{} macros at + %% beginning of line, and that supply their own punctuation (if they + %% are not defined to suppress output entirely), to make it easier for + %% other software to recover them from .bbl files. + %% + %% It also makes it possible to later change the macro definitions + %% to suppress particular output values, or alter their appearance. + %% + %% Note that it is possible for theses, technical reports, and + %% manuals to have ISBNs, and anything that has an ISBN may also + %% have an ISSN. When there are no values for these keys, there + %% is no output generated for them here. + + "\newblock" writeln + after.block 'output.state := + + output.issue + output.isbn + output.coden % CODEN is functionally like ISSN, so output them sequentially + output.issn + output.lccn + output.doi % DOI is ALWAYS last according to CrossRef DOI documentation + output.url % but ACM wants URL last +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note + } + if$ + "" +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note.check } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note.check + } + if$ + "" +} + +FUNCTION { article } +{ + output.bibitem + + author empty.or.unknown + { + editor empty.or.unknown + { "neither author and editor supplied for " cite$ * warning$ } + { format.editors "editor" output.check } + if$ + } + { format.authors "author" output.check } + if$ + + author format.no.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + howpublished output + + crossref missing$ + { format.journal.volume.number.day.month.year } + { + "cross reference in @Article{...} is unusual" warning$ + format.article.crossref output.nonnull + } + if$ + output + + format.pages.check.without.articleno output + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { book } +{ + output.bibitem + author empty.or.unknown + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + fin.sentence + pages empty.or.unknown + { format.bookpages } % use bookpages when pages empty + { format.pages.check "pages" tie.or.space.connect } + if$ + output + } + { new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { booklet } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + new.block + howpublished output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inbook } +{ + output.bibitem + author empty.or.unknown + { format.editors + "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages + "chapter and pages" output.check % jtb: moved from before publisher + } + { + format.bookpages output + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { incollection } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages output % gnp - was special.output.nonnull + % left out comma before page numbers + % jtb: moved from before publisher + } + { + format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inproceedings } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + howpublished output.dot.space + crossref missing$ + { + journal missing$ % jtb: proceedings appearing in journals + { format.in.emphasize.booktitle format.city "booktitle" output.check.dot.space + format.series output.removenospace + format.editors.fml output.dot.space + format.bvolume.noseries output + new.sentence + organization output + publisher "publisher" output.check % jtb: require publisher (?) + address "address" output.check % jtb: require address + format.bookpages output + } + { + format.in.booktitle format.city "booktitle" output.check + format.editors.fml output + new.sentence + format.journal.volume.number.day.month.year output + } + if$ + format.articleno output + format.pages.check.without.articleno output + } + { + format.incoll.inproc.crossref output.nonnull + format.articleno output + format.pages.check.without.articleno output + } + if$ + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { conference } { inproceedings } + +FUNCTION { manual } +{ + output.bibitem + author empty.or.unknown + { editor empty.or.unknown + { organization "organization" output.check + organization format.key output } % if all else fails, use key + { format.editors "author and editor" output.check } + if$ + } + { format.authors output.nonnull } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + organization address new.block.checkb + % jtb: back to normal style: organization, address + organization "organization" output.check + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { mastersthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "M.S.\ thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { misc } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + title howpublished new.block.checkb + format.title output + new.block + howpublished output + "" output.nonnull.dot.space + output.day.month.year + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { phdthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "Ph.D. thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION {format.date} +{ year empty.or.unknown + { month empty.or.unknown + { + "" % output empty date if year/month both empty + day empty.or.unknown + { } + { "there's a day but no month or year in " cite$ * warning$ } + if$ + } + { "there's a month but no year in " cite$ * warning$ + month + day empty.or.unknown + { } + { " " * day * } + if$ + } + if$ + } + { month empty.or.unknown + { + year % output only year if month empty + day empty.or.unknown + { } + { "there's a day and year but no month in " cite$ * warning$ } + if$ + } + { + month " " * + day empty.or.unknown + { } + { day * ", " * } + if$ + year * + } + if$ + } + if$ +} + +FUNCTION {new.block.checka} +{ + empty.or.unknown + 'skip$ + 'new.block + if$ +} + +FUNCTION { periodical } +{ + output.bibitem + editor empty.or.unknown + { organization output } + { format.editors output.nonnull } + if$ + new.block + title emphasize "title" output.check + format.date output + new.sentence + publisher output + address output + howpublished new.block.checka + howpublished output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { proceedings } +{ + output.bibitem + editor empty.or.unknown + { organization output + organization format.key output } % gnp - changed from author format.key + { format.editors output.nonnull } + if$ + % author format.key output % gnp - removed (should be either + % editor or organization + output.year.check % added (newapa) + new.block + format.btitle format.city "title" output.check % jtb: added city + new.sentence + format.bvolume output + format.number.series output + new.sentence + organization output + % jtb: normal order: publisher, address + publisher output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { techreport } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.btitle "title" output.check + new.block + format.tr.number output % jtb: moved month ... + institution "institution" output.check + address output + new.sentence + format.named.pages output + % ACM omits year at end in transactions style + % format.day.month.year output.nonnull.dot.space % jtb: ... to here (no parens) + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { unpublished } +{ + output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + fin.sentence + output.day.month.year % UTAH + fin.block + output.issue.doi.coden.isxn.lccn.url.note.check + fin.entry +} + +FUNCTION { default.type } { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +%%% ==================================================================== +%%% I M P O R T A N T C H A N G E +%%% +%%% For the 2009 release of the official acm-*.bst files, there are to +%%% be NO predefined journal abbreviations in those style files. +%%% +%%% ACM may later develop an official list of mappings of full journal +%%% names of commonly-cited journals to ACM-preferred abbreviations, but +%%% authors should consider that use of any of these commented-out +%%% abbreviations is DEPRECATED unless the BibTeX file itself provides +%%% its own @String{name = "value"} definitions. +%%% +%%% Use of journal (and publisher and address) @String{...} +%%% abbreviations, as opposed to explicit value assignments such as +%%% journal = "J. ACM" and publisher = "IEEE", is preferred in +%%% bibliographic databases, because it makes it easier for journal +%%% production staff to replace those definitions by publisher-preferred +%%% abbreviations when articles are typeset for publication. +%%% +%%% For historical reasons, and because some of these abbreviations are +%%% used in other (non-ACM) bibliography style files, they are preserved +%%% here in comments. Future releases of the acm*-.bst files are likely +%%% to remove them entirely. +%%% ==================================================================== +%%% +%%% DEPRECATED: MACRO {acmcs} {"ACM Comput. Surv."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acmlett} {"ACM Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acta} {"Acta Inf."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ai} {"Artificial Intelligence"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {al} {"Ada Lett."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acr} {"Adv. Comput. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {bit} {"Bit"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cacm} {"Commun. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cj} {"Comput. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cn} {"Comput. Netw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cl} {"Comput. Lang."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmjrd} {"IBM J. Res. and Development"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmsj} {"IBM Systems Journal"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ict} {"Inf. Contr."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieebcs} {"IEE/BCS Softw. Eng. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieees} {"IEEE Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeese} {"IEEE Trans. Softw. Eng."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetc} {"IEEE Trans. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetpds} {"IEEE Trans. Parall. Distrib. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetit} {"IEEE Trans. Inf. Theory"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ipl} {"Inf. Process. Lett."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {icp} {"Inf. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ist} {"Inf. Softw. Tech."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijsa} {"Int. J. Supercomput. Appl."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijpp} {"Int. J. Parallel Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jacm} {"J. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: % MACRO {jcss} {"Journal of Computer and System Sciences"} % original BibTeX +%%% DEPRECATED: MACRO {jcss} {"J. Comput. Syst. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlp} {"J. Logic Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jfp} {"J. Funct. Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jsmrp} {"J. Softw. Maint. Res. Pract."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jss} {"J. Syst. Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlc} {"J. Logic and Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlsc} {"J. Lisp Symb. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {lpls} {"Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mor} {"Math. Oper. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mscs} {"Math. Struct. Comput. Sci."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mst} {"Math. Syst. Theor."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ngc} {"New Gen. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {scp} {"Sci. Comput. Program."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {sicomp} {"SIAM J. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {spe} {"Softw. Pract. Exper."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tocs} {"ACM Trans. Comput. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tods} {"ACM Trans. Database Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tog} {"ACM Trans. Graphics"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toms} {"ACM Trans. Math. Softw."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toois} {"ACM Trans. Office Inf. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toplas} {"ACM Trans. Program. Lang. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tcs} {"Theor. Comput. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tr} {"Tech. Rep."} +%%% ==================================================================== + +READ + +INTEGERS { et.al.char.used } + +FUNCTION {initialize.et.al.char.used} +{ #0 'et.al.char.used := +} + +EXECUTE {initialize.et.al.char.used} + +FUNCTION {format.lab.names} +{ 's := + s num.names$ 'numnames := + numnames #1 > + { numnames #4 > + { #3 'namesleft := } + { numnames 'namesleft := } + if$ + #1 'nameptr := + "" + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { "{\etalchar{+}}" * + #1 'et.al.char.used := + } + { s nameptr "{v{}}{l{}}" format.name$ * } + if$ + } + { s nameptr "{v{}}{l{}}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + numnames #4 > + { "{\etalchar{+}}" * + #1 'et.al.char.used := + } + 'skip$ + if$ + } + { s #1 "{v{}}{l{}}" format.name$ + duplicate$ text.length$ #2 < + { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } + 'skip$ + if$ + } + if$ +} + +FUNCTION { author.key.label } +{ + author empty.or.unknown + { key empty.or.unknown + { "no key, author in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { author.key.organization.label } +{ % added - gnp. Provide label formatting by organization if author is null. + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, author or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { editor.key.organization.label } +{ % added - gnp. Provide label formatting by organization if editor is null. + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, editor or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION { author.editor.key.label } +{ + author empty.or.unknown + { editor empty.or.unknown + { key empty.or.unknown + { "no key, author, or editor in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { sortify } +{ + purify$ + "l" change.case$ +} + +FUNCTION { calc.label } +{ + type$ "book" = + type$ "inbook" = + or + type$ "periodical" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + duplicate$ + year field.or.null purify$ #-1 #2 substring$ + * + 'label := + year field.or.null purify$ #-1 #4 substring$ + * + sortify 'sort.label := +} + +FUNCTION { chop.word } +{ + 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION { sort.format.names } +{ + 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + % s nameptr "{ff{ } }{ll{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { " et~al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION { sort.format.title } +{ + 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION { author.sort } +{ + author empty.or.unknown + { key empty.or.unknown + { "to sort, need author or key in " cite$ * warning$ + "" } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { author.editor.sort } +{ + author empty.or.unknown + { + editor empty.or.unknown + { + key empty.or.unknown + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { author.organization.sort } +{ + % added - GNP. Stack author or organization for sorting (from alpha.bst). + % Unlike alpha.bst, we need entire names, not abbreviations + + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { editor.organization.sort } +{ + % added - GNP. Stack editor or organization for sorting (from alpha.bst). + % Unlike alpha.bst, we need entire names, not abbreviations + + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + sort.label + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + * + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE { presort } + +SORT % by label, year, author/editor, title + +STRINGS { longest.label last.sort.label next.extra } + +INTEGERS { longest.label.width last.extra.num } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := + "NOT-YET-SET" 'last.label := +} + +FUNCTION { forward.pass } +{ % Pass through all entries, comparing current entry to last one. + % Need to concatenate year to the stack (done by calc.label) to determine + % if two entries are the same (see presort) + last.label % push last.label on stack + calc.label % set label and sort.label + label % push \bibitem label on stack + year field.or.null purify$ + #-1 #4 substring$ * % add year to \bibitem label on stack + #1 entry.max$ substring$ = % are last.label and modified \bibitem label equal? + { + last.extra.num #1 + + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { + "a" chr.to.int$ + 'last.extra.num := + "" 'extra.label := + calc.label + label % push \bibitem label on stack + year field.or.null purify$ + #-1 #4 substring$ * % add year to \bibitem label on stack + #1 entry.max$ substring$ 'last.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.longest.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION { bib.sort.order } +{ + sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE { bib.sort.order } + +SORT % by sort.label, year, title --- giving final bib. order. + +FUNCTION { begin.bib } +{ + %% Set to #0 show 13-digit ISBN in preference to 10-digit ISBN. + %% Set to #1 to show both 10-digit and 13-digit ISBNs. + #1 'show-isbn-10-and-13 := + + "%%% -*-BibTeX-*-" writeln + "%%% Do NOT edit. File created by BibTeX with style acmtrans-v2 [15-Nov-2008]." writeln + "" writeln + + et.al.char.used + { "\ifx \etalchar \undefined \newcommand{\etalchar}[1]{$^{#1}$} \fi" write$ newline$ } + 'skip$ + if$ + + preamble$ empty.or.unknown + 'skip$ + { preamble$ writeln } + if$ + "\begin{thebibliography}{" longest.label * "}" * writeln + "" writeln + "%%% ====================================================================" writeln + "%%% NOTE TO THE USER: you can override these defaults by providing" writeln + "%%% customized versions of any of these macros before the \bibliography" writeln + "%%% command. Each of them MUST provide its own final punctuation," writeln + "%%% except for \shownote{}, \showDOI{}, and \showURL{}. The latter two" writeln + "%%% do not use final punctuation, in order to avoid confusing it with" writeln + "%%% the Web address." writeln + "%%%" writeln + "%%% To suppress output of a particular field, define its macro to expand" writeln + "%%% to an empty string, or better, \unskip, like this:" writeln + "%%%" writeln + "%%% \newcommand{\showDOI}[1]{\unskip} % LaTeX syntax" writeln + "%%%" writeln + "%%% \def \showDOI #1{\unskip} % plain TeX syntax" writeln + "%%%" writeln + "%%% ====================================================================" writeln + "" writeln + + %% ACM publications do not use CODEN, ISSN, and LCCN data, so their default + %% macro wrappers expand to \unskip, discarding their values and unwanted + %% space. + %% + %% For other publications, prior definitions like these may be useful: + %% + %% Plain TeX: + %% \def \showCODEN #1{CODEN #1.} + %% \def \showISSN #1{ISSN #1.} + %% \def \showLCCN #1{LCCN #1.} + %% + %% LaTeX: + %% \newcommand{\showCODEN}[1]{CODEN #1.} + %% \newcommand{\showISSN}[1]#1{ISSN #1.} + %% \newcommand{\showLCCN}[1]{LCCN #1.} + + "\ifx \showCODEN \undefined \def \showCODEN #1{\unskip} \fi" writeln + "\ifx \showDOI \undefined \def \showDOI #1{{\tt DOI:}\penalty0{#1}\ } \fi" writeln + % ACM styles omit ISBNs, but they can be included by suitable definitions of + % \showISBNx and \showISBNxiii before the .bbl file is read + "\ifx \showISBNx \undefined \def \showISBNx #1{\unskip} \fi" writeln + "\ifx \showISBNxiii \undefined \def \showISBNxiii #1{\unskip} \fi" writeln + "\ifx \showISSN \undefined \def \showISSN #1{\unskip} \fi" writeln + "\ifx \showLCCN \undefined \def \showLCCN #1{\unskip} \fi" writeln + "\ifx \shownote \undefined \def \shownote #1{#1} \fi" writeln % NB: final period supplied by add.period$ above + "\ifx \showarticletitle \undefined \def \showarticletitle #1{#1} \fi" writeln + "\ifx \showURL \undefined \def \showURL #1{#1} \fi" writeln +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION { end.bib } +{ + newline$ + "\end{thebibliography}" + writeln +} + +EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/acmart/acm-plain.bst b/Master/texmf-dist/bibtex/bst/acmart/acm-plain.bst new file mode 100644 index 00000000000..43121f83a3c --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/acmart/acm-plain.bst @@ -0,0 +1,3311 @@ +%%% -*-BibTeX-*- +%%% ==================================================================== +%%% @BibTeX-style-file{ +%%% author = "Nelson H. F. Beebe and many others", +%%% version = "1.03", +%%% date = "15 April 2011", +%%% time = "23:53:39 EDT", +%%% filename = "acm-plain.bst", +%%% address = "University of Utah +%%% Department of Mathematics, 110 LCB +%%% 155 S 1400 E RM 233 +%%% Salt Lake City, UT 84112-0090 +%%% USA", +%%% telephone = "+1 801 581 5254", +%%% FAX = "+1 801 581 4148", +%%% URL = "http://www.math.utah.edu/~beebe", +%%% checksum = "43736 3311 12014 90145", +%%% email = "beebe@math.utah.edu, beebe@acm.org, +%%% beebe@computer.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "ACM plain bibliography style; BibTeX", +%%% license = "public domain", +%%% supported = "yes", +%%% abstract = "", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== + +% "ACM plain" BibTeX style, derived by minimal modifications from acm-trans.bst +% "ACM Transactions" BibTeX style, acmtrans-v2.bst +% for BibTeX version 0.99c, LaTeX version 3.141 +% ACM extensions with code cleaned up, extended, and debugged 10--15-Nov-2008 +% Revised 28-MARCH-1996 +% Revised 30-JUNE-1995 +% Revised 15-JAN-1996 +% Revised 17-APRIL-2008 +% Revised 13-MARCH-2011 +% Revised 27-MARCH-2011 +% Revised 15-APRIL-2011 +% +% Hacked by John T. Boyland at University of California, Berkeley +% (with assistance by John R. Hauser) +% Hacked by Andrew W. Appel and Rebecca L. Davies at Princeton University, +% based on a "chicago.bst" by Glenn Paulley at U. Waterloo, +% which was based on "newapa.bst" found at ymir.claremont.edu. +% +% Version 2.2 +% Johny Sebatian and Sanjeev Sharma +% Aptara corp (c) 2008 +% +% History +% +% Date: 28th April 2008 +% +% 1. Avoid 'repeating' the 'month' values. +% 2. Avoid incorrectly italicizing the volume number. +% 3. Avoid non italicizing certain titles (book, inproceedings etc). +% 4. NO series if there is NO volume. +% 5. Sorting of reference with first surname. +% 6. Article no added for Inproceedings. +% +% Date: 07th May 2008 +% +% 1. Abbreviation list added +% +% Citation format: [author-last-name year] +% [author-last-name and author-last-name year] +% [author-last-name, author-last-name, and author-last-name year] +% [author-last-name et al. year] +% [author-last-name] +% author-last-name [year] +% [author-last-name and author-last-name] +% [author-last-name et al.] +% [year] or [year,year] +% year or year,year +% +% Reference list ordering: alphabetical by author or whatever passes +% for author in the absence of one. +% +% This BibTeX style has support for abbreviated author lists and for +% year-only citations. This is done by having the citations +% actually look like +% +% \citeauthoryear{full-author-info}{abbrev-author-info}{year} +% +% The LaTeX style has to have the following (or similar) +% +% \let\@internalcite\cite +% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite} +% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite} +% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite} +% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite} +% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite} +% +% These TeX macro definitions are found in acmtrans.sty. Additional +% commands to manipulate different components of a citation can be defined +% so that, for example, you can list author's names without parentheses +% if using a citation as a noun or object in a sentence. +% +% Features of acmtrans.bst: +% ======================== +% +% - all authors appear last name first. +% - all pages are listed xx-xx, (no pp.) and are at the end of the reference +% - publishers are identified as publisher, address +% - conferences papers (inproceedings) may give city of conference, +% date of conference, and journal that the proceedings appear in. +% - months abbreviated to max four letters (eg. Mar.) +% - volume of a series indicated after the title of the series +% - editors appear after edited title and are identified by a trailing "Eds." +% not in parentheses. Editor names are not given in small caps. +% (unless there is no author line) +% - names terminated with a period even if there is no first name. +% - editions are indicated trailing after the work, not in parentheses. +% - "et al." citations have a protected period to avoid bad spacing (jrh) +% - "address" required when publisher given +% - series (roman) and volume are in a sentence separate from (book-)title +% +% +% Features of chicago.bst: +% ======================= +% +% - full names used in citations, but abbreviated citations are available +% (see above) +% - if an entry has a "month", then the month and year are also printed +% as part of that bibitem. +% - all conjunctions use "and" instead of "\&" +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. +% - book, inbook, and manual use "location: publisher" (or organization) +% for address and publisher. All other types list publishers separately. +% - "pp." are used to identify page numbers for all entry types except +% articles. +% - organization is used as a citation label if neither author nor editor +% is present (for manuals). +% - "et al." is used for long author and editor lists, or when "others" +% is used. +% +% Modifications and bug fixes from newapa.bst: +% =========================================== +% +% - added month, year to bib entries if month is present +% - fixed bug with In proceedings, added necessary comma after title +% - all conjunctions changed to "and" from "\&" +% - fixed bug with author labels in my.full.label: "et al." now is +% generated when "others" is an author name +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. Unnecessary (IMHO) "()" around page numbers +% were removed, and page numbers now don't end with a period. +% - created chicago.sty for use with this bibstyle (required). +% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume, +% number, and /or pages. Renamed to format.journal.volume.number. +% - fixed bug in formatting booktitles: additional period an error if +% book has a volume. +% - fixed bug: editors usually given redundant period before next clause +% (format.editors.dot) removed. +% - added label support for organizations, if both author and editor +% are missing (from alpha.bst). If organization is too long, then +% the key field is used for abbreviated citations. +% - In proceedings or books of several volumes, no comma was written +% between the "Volume x" and the page numbers (this was intentional +% in newapa.bst). Fixed. +% - Some journals may not have volumes/numbers, only month/year (eg. +% IEEE Computer). Fixed bug in article style that assumed volume/number +% was always present. +% +% Original documentation for newapa.sty: +% ===================================== +% +% This version was made by modifying the master file made by +% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX +% style of Peter F. Patel-Schneider. +% +% Copyright (C) 1985, all rights reserved. +% Copying of this file is authorized only if either +% (1) you make absolutely no changes to your copy, including name, or +% (2) if you do make changes, you name it something other than 'newapa.bst'. +% There are undoubtably bugs in this style. If you make bug fixes, +% improvements, etc. please let me know. My e-mail address is: +% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com +% +% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst', +% with lots of tweaking to make it look like APA style, along with tips +% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'. + +ENTRY + { address + advisor + author + booktitle + chapter + city % jtb: added + date % jtb: added + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + % New keys recognized for acmtrans-v2.bst + issue % UTAH: used in, e.g., ACM SIGSAM Bulletin and ACM Communications in Computer Algebra + articleno + day % UTAH: needed for newspapers, weeklies, bi-weeklies + doi % UTAH + url % UTAH + bookpages % UTAH + numpages + lastaccessed % UTAH: used only for @Misc{...} + coden % UTAH + isbn % UTAH + isbn-13 % UTAH + issn % UTAH + lccn % UTAH + } + {} + { label label.year extra.label sort.year sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { show-isbn-10-and-13 } % initialized below in begin.bib + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { multiresult } + +INTEGERS { len } + +INTEGERS { last.extra.num } + +STRINGS { s t t.org u } + +STRINGS { last.label next.extra } + +STRINGS { p1 p2 p3 page.count } + +FUNCTION { dump.stack.1 } +{ + duplicate$ "STACK[top] = [" swap$ * "]" * warning$ +} + +FUNCTION { dump.stack.2 } +{ + duplicate$ "STACK[top ] = [" swap$ * "]" * warning$ + swap$ + duplicate$ "STACK[top-1] = [" swap$ * "]" * warning$ + swap$ +} + +FUNCTION { empty.or.unknown } +{ + %% Examine the top stack entry, and push 1 if it is empty, or + %% consists only of whitespace, or is a string beginning with two + %% queries (??), and otherwise, push 0. + %% + %% This function provides a replacement for empty$, with the + %% convenient feature that unknown values marked by two leading + %% queries are treated the same as missing values, and thus, do not + %% appear in the output .bbl file, and yet, their presence in .bib + %% file(s) serves to mark values which are temporarily missing, but + %% are expected to be filled in eventually once more data is + %% obtained. The TeX User Group and BibNet bibliography archives + %% make extensive use of this practice. + %% + %% An empty string cannot serve the same purpose, because just as in + %% statistics data processing, an unknown value is not the same as an + %% empty value. + %% + %% At entry: stack = ... top:[string] + %% At exit: stack = ... top:[0 or 1] + + duplicate$ empty$ + { pop$ #1 } + { #1 #2 substring$ "??" = } + if$ +} + +FUNCTION { writeln } +{ + %% In BibTeX style files, the sequences + %% + %% ... "one" "two" output + %% ... "one" "two" output.xxx + %% + %% ship "one" to the output file, possibly following by punctuation, + %% leaving the stack with + %% + %% ... "two" + %% + %% There is thus a one-string lag in output processing that must be + %% carefully handled to avoid duplicating a string in the output + %% file. Unless otherwise noted, all output.xxx functions leave + %% just one new string on the stack, and that model should be born + %% in mind when reading or writing function code. + %% + %% BibTeX's asynchronous buffering of output from strings from the + %% stack is confusing because newline$ bypasses the buffer. It + %% would have been so much easier for newline to be a character + %% rather than a state of the output-in-progress. + %% + %% The documentation in btxhak.dvi is WRONG: it says + %% + %% newline$ Writes onto the bbl file what's accumulated in the + %% output buffer. It writes a blank line if and only + %% if the output buffer is empty. Since write$ does + %% reasonable line breaking, you should use this + %% function only when you want a blank line or an + %% explicit line break. + %% + %% write$ Pops the top (string) literal and writes it on the + %% output buffer (which will result in stuff being + %% written onto the bbl file when the buffer fills + %% up). + %% + %% Examination of the BibTeX source code shows that write$ does + %% indeed behave as claimed, but newline$ sends a newline character + %% directly to the output file, leaving the stack unchanged. The + %% first line "Writes onto ... buffer." is therefore wrong. + %% + %% The original BibTeX style files almost always use "write$ newline$" + %% in that order, so it makes sense to hide that pair in a private + %% function like this one, named after a statement in Pascal, + %% the programming language embedded in the BibTeX Web program. + + write$ % output top-of-stack string + newline$ % immediate write of newline (not via stack) +} + +FUNCTION { init.state.consts } +{ + #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +FUNCTION { output.nonnull } +{ % Stack in: ... R S T Stack out: ... R T File out: S<comma><space> + 's := + output.state mid.sentence = + { + ", " * write$ + } + { + output.state after.block = + { + add.period$ writeln + "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.dot.space } +{ % Stack in: ... R S T Stack out: ... R T File out: S<dot><space> + 's := + output.state mid.sentence = % { "<DEBUG output.nonnull.dot.space>. " * write$ } + { + ". " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.remove } +{ % Stack in: ... R S T Stack out: ... R T File out: S<space> + 's := + output.state mid.sentence = + { + " " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.removenospace } +{ % Stack in: ... R S T Stack out: ... R T File out: S + 's := + output.state mid.sentence = + { + "" * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output } +{ % discard top token if empty, else like output.nonnull + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION { output.dot.space } +{ % discard top token if empty, else like output.nonnull.dot.space + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.dot.space + if$ +} + +FUNCTION { output.removenospace } +{ % discard top token if empty, else like output.nonnull.removenospace + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.removenospace + if$ +} + +FUNCTION { output.check } +{ % like output, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION { output.check.dot.space } +{ % like output.dot.space, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.dot.space + if$ +} + +FUNCTION { fin.block } +{ % functionally, but not logically, identical to fin.entry + add.period$ + writeln +} + +FUNCTION { fin.entry } +{ + add.period$ + writeln +} + +FUNCTION { new.sentence } +{ % update sentence state, with neither output nor stack change + output.state after.block = + 'skip$ + { + output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION { fin.sentence } +{ + add.period$ + write$ + new.sentence + "" +} + +FUNCTION { new.block } +{ + output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION { output.coden } % UTAH +{ % output non-empty CODEN as one-line sentence (stack untouched) + coden empty.or.unknown + { } + { "\showCODEN{" coden * "}" * writeln } + if$ +} + +FUNCTION { format.articleno } +{ + articleno empty.or.unknown + { "" } + { + numpages empty.or.unknown + { "articleno field, but no numpages field, in " cite$ * warning$ } + { } + if$ + "Article " articleno * + } + if$ +} + +FUNCTION { format.year } +{ % push year string or "????" onto output stack + %% Because year is a mandatory field, we always force SOMETHING + %% to be output + year empty.or.unknown + { "????" } + { year } + if$ +} + +FUNCTION { format.day.month } +{ % push "day month " or "month " or "" onto output stack + day empty.or.unknown + { + month empty.or.unknown + { "" } + { month " " *} + if$ + } + { + month empty.or.unknown + { "" } + { day " " * month * " " *} + if$ + } + if$ +} + +FUNCTION { format.day.month.year } % UTAH +{ % if month is empty, push "" else push "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + % acm-*.bst addition: prefix parenthesized date string with + % ", Article nnn " + articleno empty.or.unknown + { "" } + { ", " format.articleno * } + if$ + " (" * format.day.month * format.year * ")" * +} + +FUNCTION { output.day.month.year } % UTAH +{ % if month is empty value, do nothing; else output stack top and + % leave with new top string "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + format.day.month.year + output.nonnull.remove +} + +FUNCTION { strip.doi } % UTAH +{ % Strip any Web address prefix to recover the bare DOI, leaving the + % result on the output stack, as recommended by CrossRef DOI + % documentation. + % For example, reduce "http://doi.acm.org/10.1145/1534530.1534545" to + % "10.1145/1534530.1534545". That is later typeset and displayed as + % doi:10.1145/1534530.1534545 as the LAST item in the reference list + % entry. Publisher Web sites wrap this with a suitable link to a real + % URL to resolve the DOI, and the master http://dx.doi.org/ address is + % preferred, since publisher-specific URLs can disappear in response + % to economic events. All journals are encouraged by the DOI + % authorities to use that typeset format and link procedures for + % uniformity across all publications that include DOIs in reference + % lists. + % The numeric prefix is guaranteed to start with "10.", so we use + % that as a test. + doi #1 #3 substring$ "10." = + { doi } + { + doi #1 #7 substring$ "http://" = + { + doi #8 doi text.length$ #7 - substring$ 't := % get modifiable copy of rest of DOI + + "INTERNAL STYLE-FILE ERROR" 's := + + % search for next "/" and assign its suffix to s + + { t text.length$ } + { + t #1 #1 substring$ "/" = + { + % save rest of string as true DOI (should be 10.xxxx/yyyy) + t #2 t text.length$ #1 - substring$ 's := + "" 't := % empty string t terminates the loop + } + { + % discard first character and continue loop: t <= substring(t,2,last) + t #2 t text.length$ #1 - substring$ 't := + } + if$ + } + while$ + + % check for valid DOI (should be 10.xxxx/yyyy) + s #1 #3 substring$ "10." = + { } + { "unrecognized DOI substring " s * " in DOI value [" * doi * "]" * warning$ } + if$ + + s % push the stripped DOI on the output stack + + } + { + "unrecognized DOI value [" doi * "]" * warning$ + doi % push the unrecognized original DOI on the output stack + } + if$ + } + if$ +} + +% +% Change by BV: added standard prefix to URL +% +FUNCTION { output.doi } % UTAH +{ % output non-empty DOI as one-line sentence (stack untouched) + doi empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which then requires + %% manual (or automated) editing of the .bbl file to repair. + %% The \url{} macro strips percent-newlines, and is thus safe in + %% the presence of the line wrapping, but \path|...| and + %% \verb|...| do not. + "\showDOI{%" writeln + "\url{http://dx.doi.org/" strip.doi * "}}" * writeln + } + if$ +} + +FUNCTION { output.isbn } % UTAH +{ % output non-empty ISBN-10 and/or ISBN-13 as one-line sentences (stack untouched) + show-isbn-10-and-13 + { + %% show both 10- and 13-digit ISBNs + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + isbn-13 empty.or.unknown + { } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + { + %% show 10-digit ISBNs only if 13-digit ISBNs not available + isbn-13 empty.or.unknown + { + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + if$ +} + +FUNCTION { output.issn } % UTAH +{ % output non-empty ISSN as one-line sentence (stack untouched) + issn empty.or.unknown + { } + { "\showISSN{" issn * "}" * writeln } + if$ +} + +FUNCTION { output.issue } +{ % output non-empty issue number as a one-line sentence (stack untouched) + issue empty.or.unknown + { } + { "Issue " issue * "." * writeln } + if$ +} + +FUNCTION { output.lccn } % UTAH +{ % return with stack untouched + lccn empty.or.unknown + { } + { "\showLCCN{" lccn * "}" * writeln } + if$ +} + +FUNCTION { output.note } % UTAH +{ % return with stack empty + note empty.or.unknown + { } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +FUNCTION { output.note.check } % UTAH +{ % return with stack empty + note empty.or.unknown + { "empty note in " cite$ * warning$ } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +% +% Changes by BV 2011/04/15. Do not output +% url if doi is defined +% +FUNCTION { output.url } % UTAH +{ % return with stack untouched + % output URL and associated lastaccessed fields + doi empty.or.unknown + { + url empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which would require + %% manual (or automated) editing of the .bbl file to repair. However, + %% the \url{} macro handles the unwrapping job automatically. + "\showURL{%" writeln + lastaccessed empty.or.unknown + { "" } + { "Retrieved " lastaccessed * " from " * } + if$ + + %% The URL field may contain a semicolon-separated list of Web + %% addresses, and we locate and wrap each of them in \url{...}. + %% The simplistic approach of putting the entire list into the + %% macro argument is that the semicolons are typeset in a + %% typewriter font, and no space follows them. + %% + %% We therefore replace the original code + %% "\url{" * url * "}}" * writeln + %% with this character-at-a-time loop: + + "\url{" * + + url 't := % get modifiable copy of URL list + + { t text.length$ } + { + t #1 #1 substring$ ";" = + { % then split argument at separator + "};" * writeln + "\url{" + } + { % else concatenate nonblank character to argument + t #1 #1 substring$ " " = + { } + { t #1 #1 substring$ * } + if$ + } + if$ + + t #2 t text.length$ #1 - substring$ 't := + } + while$ + + "}}" * writeln + } + if$ + } + { } + if$ +} + +FUNCTION { output.year.check } +{ % warn if year empty, else output top string and leave " YEAR<label>" on stack in mid-sentence + year empty.or.unknown + { "empty year in " cite$ * warning$ } + { write$ + " " year * extra.label * + mid.sentence 'output.state := + } + if$ +} + +FUNCTION { not } +{ + { #0 } + { #1 } + if$ +} + +FUNCTION { and } +{ + 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION { or } +{ + { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION { le } +{ + %% test whether first number is less than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 <= n2 then 1 else 0 + + %% "DEBUG: le " cite$ * warning$ + > { #0 } { #1 } if$ +} + +FUNCTION { ge } +{ + %% test whether first number is greater than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 >= n2 then 1 else 0 + + %% "DEBUG: ge " cite$ * warning$ + < { #0 } { #1 } if$ +} + +FUNCTION { is.leading.digit } +{ + %% test whether first character of string is a digit + %% stack in: string + %% stack out: if first-char-is-digit then 1 else 0 + + #1 #1 substring$ % replace string by string[1:1] + duplicate$ % string[1:1] string[1:1] + chr.to.int$ + "0" chr.to.int$ swap$ le % "0" <= string[1:1] --> 0-or-1 + swap$ % 0-or-1 string[1:1] + chr.to.int$ + "9" chr.to.int$ le % string[1:1} <= "9" --> 0-or-1 + and +} + +FUNCTION { skip.digits } +{ + %% skip over leading digits in string + %% stack in: string + %% stack out: rest-of-string leading-digits + + duplicate$ + 't := + 't.org := + "" 'u := + + { t text.length$ } + { + %% "=================DEBUG: skip.digits t = [" t * "]" * warning$ + t is.leading.digit + { t #2 t text.length$ #1 - substring$ } + { + t 'u := + "" + } + if$ + 't := + } + while$ + + u % rest of string + t.org #1 t.org text.length$ u text.length$ - substring$ % leading digits +} + +FUNCTION { skip.nondigits } +{ + %% skip over leading nondigits in string + %% stack in: string + %% stack out: rest-of-string + + 't := + "" 'u := + + { t text.length$ } + { + t is.leading.digit + { + t 'u := + "" + } + { t #2 t text.length$ #1 - substring$ } + if$ + 't := + } + while$ + + u % rest of string +} + +FUNCTION { parse.next.number } +{ + %% stack in: string + %% stack out: rest-of-string next-numeric-part-of-string + %% Example: + %% stack in: "123:1--123:59" + %% stack out: ":1--123:59" "123" + + 's := + s skip.nondigits 's := + s skip.digits +} + +FUNCTION { reduce.pages.to.page.count } +{ + %% Stack in: arbitrary-and-unused + %% Stack out: unchanged + %% + %% For the new-style pagination with article number and numpages or + %% pages, we expect to have BibTeX entries containing something like + %% articleno = "17", + %% pages = "1--23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% numpages = "23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% pages = "17:1--17:23", + %% with output "Article 17, 23 pages", + %% + %% If articleno is missing or empty, then we should output "1--23", + %% "23" (with a warning of a missing articleno), or "17:1--17:23", + %% respectively. + + %% "DEBUG: enter reduce.pages.to.page.count " cite$ * warning$ + + %% "DEBUG: pages = [" pages * "]" * warning$ + + pages + parse.next.number 'p1 := + parse.next.number 'p2 := + parse.next.number 'p3 := + parse.next.number 'page.count := + + duplicate$ + empty.or.unknown + { } + { + duplicate$ "unexpected trailing garbage [" swap$ * + "] after n:p1--n:p2 in pages = [" * + pages * + "] in " * + cite$ * + warning$ + } + if$ + + pop$ + + %% "DEBUG: reduce.pages.to.page.count: " + %% " p1 = " p1 * * + %% " p2 = " p2 * * + %% " p3 = " p3 * * + %% " p4 = " page.count * * + %% " in " cite$ * * warning$ + + p1 p3 = p2 "1" = and numpages empty.or.unknown and + { "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + p1 "1" = p3 empty.or.unknown and numpages empty.or.unknown and + { + p2 'page.count := + "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ + } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + %% "DEBUG: leave reduce.pages.to.page.count " cite$ * warning$ +} + +FUNCTION { new.block.checkb } +{ % issue a new.block only if at least one of top two stack strings is not empty + empty.or.unknown + swap$ empty.or.unknown + and + 'skip$ + 'new.block + if$ +} + +FUNCTION { field.or.null } +{ % convert empty value to null string, else return value + duplicate$ empty.or.unknown + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION { emphasize } +{ % emphasize a non-empty top string on the stack (WITHOUT italic correction) + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION { emphasize.with.italic.correction } +{ % convert empty string to null string, or emphasize with a trailing italic correction + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} + +FUNCTION { comma } +{ % convert empty string to null string, or brace string and add trailing comma + duplicate$ empty.or.unknown + { pop$ "" } + { "{" swap$ * "}," * } + if$ +} + +FUNCTION { format.names } +{ + % Format bibliographical entries with the first author last name first, + % and subsequent authors with initials followed by last name. + % All names are formatted in this routine. + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 = + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + {"{" s nameptr "{ff }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + {"{" s nameptr "{ff }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + if$ + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{\sc others}" = + { " {et~al\mbox{.}}" * } % jrh: avoid spacing problems + { " {and} " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { my.full.label } +{ + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ + +} + +FUNCTION { format.names.fml } +{ + % Format names in "familiar" format, with first initial followed by + % last name. Like format.names, ALL names are formatted. + % jtb: The names are NOT put in small caps + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { + "{" s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ * "}" * 't := + + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{others}" = + { " {et~al\mbox{.}}" * } + { " {and} " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { format.authors } +{ + author empty.or.unknown + { "" } + { author format.names add.period$} % jtb: add period if none before + if$ +} + +FUNCTION { format.key } +{ + empty.or.unknown + { key field.or.null } + { "" } + if$ +} + +FUNCTION { format.no.key } +{ + empty.or.unknown + { "" } + { "" } + if$ +} + +FUNCTION { format.editors.fml } +{ + % Format editor names for use in the "in" types: inbook, incollection, + % inproceedings: first initial, then last names. When editors are the + % LABEL for an entry, then format.editor is used which lists editors + % by last name first. + + editor empty.or.unknown + { "" } + { + editor format.names.fml editor num.names$ #1 > + { " (Eds.)" * } + { " (Ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.editors } +{ % format editor names for use in labels, last names first. + editor empty.or.unknown + { "" } + { + editor format.names + editor num.names$ #1 > + { " (Eds.)." * } + { " (Ed.)." * } + if$ + } + if$ +} + +FUNCTION { format.articletitle } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { "\showarticletitle{" title * "}" * } + % Use this for downcase title style: + % { \showarticletitle{" title "t" change.case$ * "}" * } + if$ +} + +FUNCTION { format.title } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { title } + % Use this for downcase title style: + % { title "t" change.case$ } + if$ +} + +FUNCTION { n.dashify } +{ + 't := + "" + { t empty.or.unknown not } + { + t #1 #1 substring$ "-" = + { + t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { + { t #1 #1 substring$ "-" = } + { + "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { + t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION { format.btitle } +{ + edition empty.or.unknown + { title emphasize } + { title empty.or.unknown + { title emphasize } % jtb: what is this supposed to do ?!? + { "{\em " title * "\/} (" * edition "l" change.case$ * " ed.)" * } % jtb: no parens for ed. + if$ + } + if$ +} + +FUNCTION { format.emphasize.booktitle } +{ % push "" or "{\em booktitle}" or "{\em booktitle}, (second ed.)" on stack + edition empty.or.unknown + { booktitle emphasize } + { booktitle empty.or.unknown + { "" } + { "{\em " booktitle * "} (" * edition "l" change.case$ * " ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.city } +{ + % jtb: if the preceding string (the title of the conference) is non-empty, + % jtb: append the location, otherwise leave empty (so as to trigger the + % jtb: error message in output.check + + duplicate$ empty.or.unknown + { } + { + city empty.or.unknown + { + date empty.or.unknown + { } + { " (" * date * ")" * } + if$ + } + { + date empty.or.unknown + { " (" * city * ")" * } + { " (" * city * ", " * date * ")" * } + if$ + } + if$ + } + if$ +} + +FUNCTION { tie.or.space.connect } +{ + duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION { either.or.check } +{ + empty.or.unknown + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION { format.bvolume } +{ + % jtb: If there is a series, this is added and the volume trails after it. + % jtb: Otherwise, "Vol" is Capitalized. + + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.bvolume.noseries } +{ + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { "Vol." volume tie.or.space.connect} +% { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.series } +{ + series empty.or.unknown + {""} + {" {\em (" * series ")}" *} + if$ +} + +FUNCTION { format.number.series } +{ + volume empty.or.unknown + { + number empty.or.unknown + { + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "" } + { " (" series * ")" * } + if$ + } + if$ + } % { series field.or.null } + { + output.state mid.sentence = + { "Number" } % gnp - changed to mixed case always + { "Number" } + if$ + number tie.or.space.connect series empty.or.unknown + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { + "" + } + if$ +} + +FUNCTION { multi.page.check } +{ + 't := + #0 'multiresult := + { multiresult not + t empty.or.unknown not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION { format.pages } +{ + pages empty.or.unknown + { "" } + { + pages multi.page.check + { pages n.dashify } % gnp - removed () % jtb: removed pp. + { pages } + if$ + } + if$ +} + +FUNCTION { format.pages.check.without.articleno } +{ %% format pages field only if articleno is absent + %% Stack out: pages-specification + numpages missing$ pages missing$ and + { "page numbers missing in both pages and numpages fields in " cite$ * warning$ } + { } + if$ + + articleno empty.or.unknown + { + pages missing$ + { numpages } + { format.pages } + if$ + } + { "" } + if$ +} + +FUNCTION { format.pages.check } +{ + pages empty.or.unknown + { "page numbers missing in " cite$ * warning$ "" } + { pages n.dashify } + if$ +} + +FUNCTION { format.bookpages } +{ + bookpages empty.or.unknown + { "" } + { bookpages "book pages" tie.or.space.connect } + if$ +} + +FUNCTION { format.named.pages } +{ + pages empty.or.unknown + { "" } + { format.pages "pages" tie.or.space.connect } + if$ +} + +% +% Changed by Boris Veytsman, 2011-03-13 +% Now the word "pages" is printed even if +% there field pages is not empty. +% + +FUNCTION { format.page.count } +{ + page.count empty.or.unknown + { "" } + { + articleno empty.or.unknown + { "numpages field, but no articleno field, in " cite$ * warning$ } + { } + if$ + page.count "pages" tie.or.space.connect + } + if$ +} + +FUNCTION { format.articleno.numpages } +{ + %% There are seven possible outputs, depending on which fields are set. + %% + %% These four are handled here: + %% + %% articleno, numpages, pages -> "Article articleno-value, numpages-value pages" + %% articleno, numpages -> "Article articleno-value, numpages-value pages" + %% articleno, pages -> "Article articleno-value, reduced-pages-value pages" + %% articleno -> "Article articleno-value" and warn about missing numpages + %% + %% The remaining three have already been handled by + %% format.pages.check.without.articleno: + %% + %% numpages, pages -> "pages-value" + %% numpages -> "numpages-value" + %% pages -> "pages-value" + + articleno empty.or.unknown + { + numpages empty.or.unknown + { } + { "require articleno with numpages field in " cite$ * warning$ } + if$ + "" + } + { + numpages empty.or.unknown + { + pages empty.or.unknown + { + "require pages or numpages fields with articleno field in " cite$ * warning$ + "" 'page.count := + } + { reduce.pages.to.page.count } + if$ + } + { numpages 'page.count := } + if$ + + %% The Article number is now handled in format.day.month.year because + %% ACM prefers the style "Digital Libraries 12, 3, Article 5 (July 2008)" + %% over "Digital Libraries 12, 3 (July 2008), Article 5" + %% format.articleno output + format.page.count + } + if$ +} + +FUNCTION { format.journal.volume.number.day.month.year } +{ + % By Young (and Spencer) + % GNP - fixed bugs with missing volume, number, and/or pages + % + % Format journal, volume, number, pages for article types. + % + journal empty.or.unknown + { "no journal in " cite$ * warning$ + "" } +% { journal emphasize.with.italic.correction } + { + journal "Journal of the ACM" = + { "{\it J. ACM}" } + { + journal "American Mathematical Society Translations" = + { "{\it Amer. Math. Soc. Transl.}" } + { + journal "Bulletin of the American Mathematical Society" = + { "{\it Bull. Amer. Math. Soc.}" } + { + journal "Proceedings of the American Mathematical Society" = + { "{\it Proc. Amer. Math. Soc.}" } + { + journal "Transactions of the American Mathematical Society" = + { "{\it Trans. Amer. Math. Soc.}" } + { + journal "Communications of the {ACM}" = + { "{\it Commun. {ACM}}" } + { + journal "{ACM} Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "{ACM} Transactions on Mathematical Software" = + { "{\it {ACM} Trans. Math. Software}" } + { + journal "{ACM} {SIGNUM} Newsletter" = + { "{\it {ACM} {SIGNUM} Newslett.}" } + { + journal "American Journal of Sociology" = + { "{\it Amer. J. Sociology}" } + { + journal "Journal of the American Statistical Association" = + { "{\it J. Amer. Statist. Assoc.}" } + { + journal "Applied Mathematics and Computation" = + { "{\it Appl. Math. Comput.}" } + { + journal "American Mathematical Monthly" = + { "{\it Amer. Math. Monthly}" } + { + journal "British Journal of Mathematical and Statistical Psychology" = + { "{\it Brit. J. Math. Statist. Psych.}" } + { + journal "Canadian Mathematical Bulletin" = + { "{\it Canad. Math. Bull.}" } + { + journal "Journal of Computational and Applied Mathematics" = + { "{\it J. Comput. Appl. Math.}" } + { + journal "Journal of Computational Physics" = + { "{\it J. Comput. Phys.}" } + { + journal "Computers and Structures" = + { "{\it Comput. \& Structures}" } + { + journal "The Computer Journal" = + { "{\it Comput. J.}" } + { + journal "Journal of Computer and System Sciences" = + { "{\it J. Comput. System Sci.}" } + { + journal "Contemporary Mathematics" = + { "{\it Contemp. Math.}" } + { + journal "Crelle's Journal" = + { "{\it Crelle's J.}" } + { + journal "Giornale di Mathematiche" = + { "{\it Giorn. Mat.}" } + { + journal "{IEEE} Transactions on Computers" = + { "{\it {IEEE} Trans. Comput.}" } + { + journal "{IEEE} Transactions on Automatic Control" = + { "{\it {IEEE} Trans. Automat. Control}" } + { + journal "Proceedings of the {IEEE}" = + { "{\it Proc. {IEEE}}" } + { + journal "{IEEE} Transactions on Aerospace and Electronic Systems" = + { "{\it {IEEE} Trans. Aerospace Electron. Systems}" } + { + journal "{IMA} Journal of Numerical Analysis" = + { "{\it {IMA} J. Numer. Anal.}" } + { + journal "Information Processing Letters" = + { "{\it Inform. Process. Lett.}" } + { + journal "Journal of the Institute of Mathematics and its Applications" = + { "{\it J. Inst. Math. Appl.}" } + { + journal "International Journal of Control" = + { "{\it Internat. J. Control}" } + { + journal "International Journal for Numerical Methods in Engineering" = + { "{\it Internat. J. Numer. Methods Engrg.}" } + { + journal "International Journal of Supercomputing Applications" = + { "{\it Internat. J. Supercomputing Applic.}" } + { + journal "Journal of Research of the National Bureau of Standards" = + { "{\it J. Res. Nat. Bur. Standards}" } + { + journal "Linear Algebra and its Applications" = + { "{\it Linear Algebra Appl.}" } + { + journal "Journal of Mathematical Analysis and Applications" = + { "{\it J. Math. Anal. Appl.}" } + { + journal "Mathematische Annalen" = + { "{\it Math. Ann.}" } + { + journal "Journal of Mathematical Physics" = + { "{\it J. Math. Phys.}" } + { + journal "Mathematics of Computation" = + { "{\it Math. Comp.}" } + { + journal "Mathematica Scandinavica" = + { "{\it Math. Scand.}" } + { + journal "Mathematical Tables and Other Aids to Computation" = + { "{\it Math. Tables Aids Comput.}" } + { + journal "Numerische Mathematik" = + { "{\it Numer. Math.}" } + { + journal "Pacific Journal of Mathematics" = + { "{\it Pacific J. Math.}" } + { + journal "Journal of Parallel and Distributed Computing" = + { "{\it J. Parallel and Distrib. Comput.}" } + { + journal "Parallel Computing" = + { "{\it Parallel Comput.}" } + { + journal "Philosophical Magazine" = + { "{\it Philos. Mag.}" } + { + journal "Proceedings of the National Academy of Sciences of the USA" = + { "{\it Proc. Nat. Acad. Sci. U. S. A.}" } + { + journal "Quarterly Journal of Mathematics, Oxford, Series (2)" = + { "{\it Quart. J. Math. Oxford Ser. (2)}" } + { + journal "Quarterly of Applied Mathematics" = + { "{\it Quart. Appl. Math.}" } + { + journal "Review of the International Statisical Institute" = + { "{\it Rev. Inst. Internat. Statist.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics" = + { "{\it J. Soc. Indust. Appl. Math.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics, Series B, Numerical Analysis" = + { "{\it J. Soc. Indust. Appl. Math. Ser. B Numer. Anal.}" } + { + journal "{SIAM} Journal on Algebraic and Discrete Methods" = + { "{\it {SIAM} J. Algebraic Discrete Methods}" } + { + journal "{SIAM} Journal on Applied Mathematics" = + { "{\it {SIAM} J. Appl. Math.}" } + { + journal "{SIAM} Journal on Computing" = + { "{\it {SIAM} J. Comput.}" } + { + journal "{SIAM} Journal on Matrix Analysis and Applications" = + { "{\it {SIAM} J. Matrix Anal. Appl.}" } + { + journal "{SIAM} Journal on Numerical Analysis" = + { "{\it {SIAM} J. Numer. Anal.}" } + { + journal "{SIAM} Review" = + { "{\it {SIAM} Rev.}" } + { + journal "{SIAM} Journal on Scientific and Statistical Computing" = + { "{\it {SIAM} J. Sci. Statist. Comput.}" } + { + journal "Software Practice and Experience" = + { "{\it Software Prac. Experience}" } + { + journal "Statistical Science" = + { "{\it Statist. Sci.}" } + { + journal "{USSR} Computational Mathematics and Mathematical Physics" = + { "{\it {U. S. S. R.} Comput. Math. and Math. Phys.}" } + { + journal "Journal of {VLSI} and Computer Systems" = + { "{\it J. {VLSI} Comput. Syst.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Mechanik" = + { "{\it Z. Angew. Math. Mech.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Physik" = + { "{\it Z. Angew. Math. Phys.}" } + { + journal "ACM Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "ACM Transactions on Mathematical Software" = + { "{\it ACM Trans. Math. Software}" } + { + journal "ACM {SIGNUM} Newsletter" = + { "{\it ACM {SIGNUM} Newslett.}" } + { + journal "IEEE Transactions on Computers" = + { "{\it IEEE Trans. Comput.}" } + { + journal "IEEE Transactions on Automatic Control" = + { "{\it IEEE Trans. Automat. Control}" } + { + journal "Proceedings of the IEEE" = + { "{\it Proc. IEEE}" } + { + journal "IEEE Transactions on Aerospace and Electronic Systems" = + { "{\it IEEE Trans. Aerospace Electron. Systems}" } + { + journal "IMA Journal of Numerical Analysis" = + { "{\it IMA J. Numer. Anal.}" } + { + journal "SIAM Journal on Algebraic and Discrete Methods" = + { "{\it SIAM J. Algebraic Discrete Methods}" } + { + journal "SIAM Journal on Applied Mathematics" = + { "{\it SIAM J. Appl. Math.}" } + { + journal "SIAM Journal on Computing" = + { "{\it SIAM J. Comput.}" } + { + journal "SIAM Journal on Matrix Analysis and Applications" = + { "{\it SIAM J. Matrix Anal. Appl.}" } + { + journal "SIAM Journal on Numerical Analysis" = + { "{\it SIAM J. Numer. Anal.}" } + { + journal "SIAM Review" = + { "{\it SIAM Rev.}" } + { + journal "SIAM Journal on Scientific and Statistical Computing" = + { "{\it SIAM J. Sci. Statist. Comput.}" } + { + journal "USSR Computational Mathematics and Mathematical Physics" = + { "{\it U. S. S. R. Comput. Math. and Math. Phys.}" } + { + journal "Journal of VLSI and Computer Systems" = + { "{\it J. VLSI Comput. Syst.}" } + { + journal "Communications of the ACM" = + { "{\it Commun. ACM}" } + %% If no match with cases needing special handling, just output journal name + { journal emphasize.with.italic.correction } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + + number empty.or.unknown + { + volume empty.or.unknown + { "no number and no volume in " cite$ * warning$ "" * } + { " " * " {" * volume * "}" * } + if$ + } + { + volume empty.or.unknown + { + "unusual to have number, but no volume, for " cite$ * warning$ + " " * number * + } + { " " * volume comma " " * number * * } + if$ + } + if$ + + format.day.month.year * +} + +FUNCTION { format.chapter.pages } +{ + chapter empty.or.unknown + 'format.pages + { type empty.or.unknown + { "Chapter" } % gnp - changed to mixed case + { type "t" change.case$ } + if$ + chapter tie.or.space.connect + pages empty.or.unknown + {"page numbers missing in " cite$ * warning$} % gnp - added check + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION { format.in.emphasize.booktitle } +{ % jtb: format for collections or proceedings not appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " format.emphasize.booktitle * } + if$ +} + +FUNCTION { format.in.booktitle } +{ % jtb: format for proceedings appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " booktitle * } + if$ +} + +FUNCTION { format.in.ed.booktitle } +{ + booktitle empty.or.unknown + { "" } + { editor empty.or.unknown + { "In " format.emphasize.booktitle * } + % jtb: swapped editor location + { "In " format.emphasize.booktitle * ", " * format.editors.fml * } + if$ + } + if$ +} + +FUNCTION { format.thesis.type } +{ % call with default type on stack top + type empty.or.unknown + 'skip$ % use default type + { + pop$ % discard default type + % NO: it is silly to have to brace protect every degree type!: type "t" change.case$ + type + } + if$ +} + +FUNCTION { format.tr.number } +{ + type empty.or.unknown + { "Tech. Rep." } + 'type + if$ + number empty.or.unknown + { "t" change.case$ } + %% LOOKS BAD: { "." * number tie.or.space.connect } + %% Prefer "Research report RJ687." to "Research report. RJ687." + { number tie.or.space.connect } + if$ +} + +FUNCTION { format.advisor } +{ + advisor empty.or.unknown + { "" } + { "Advisor(s) " advisor * } + if$ +} + +FUNCTION { format.article.crossref } +{ "See" + "\cite{" * crossref * "}" * +} + +FUNCTION { format.crossref.editor } +{ + editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al\mbox{.}" * } % jrh: avoid spacing problems + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION { format.book.crossref } +{ + volume empty.or.unknown + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect % gnp - changed to mixed case + " of " * + } + if$ + editor empty.or.unknown + editor field.or.null author field.or.null = + or + { key empty.or.unknown + { series empty.or.unknown + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION { format.incoll.inproc.crossref } +{ "See" + " \cite{" * crossref * "}" * +} + +FUNCTION { format.lab.names } +{ + % format.lab.names: + % + % determines "short" names for the abbreviated author information. + % "Long" labels are created in calc.label, using the routine my.full.label + % to format author and editor fields. + % + % There are 4 cases for labels. (n=3 in the example) + % a) one author Foo + % b) one to n Foo, Bar and Baz + % c) use of "and others" Foo, Bar et al. + % d) more than n Foo et al. + + 's := + s num.names$ 'numnames := + numnames #2 > % change number to number of others allowed before + % forcing "et al". + { s #1 "{vv~}{ll}" format.name$ " et~al\mbox{.}" * } % jrh: \mbox{} added + { + numnames #1 - 'namesleft := + #2 'nameptr := + s #1 "{vv~}{ll}" format.name$ + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + } + { ", " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } + if$ +} + +FUNCTION { author.key.label } +{ + author empty.or.unknown + { key empty.or.unknown + { "no key, author in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { author.key.organization.label } +{ % added - gnp. Provide label formatting by organization if author is null. + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, author or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { editor.key.organization.label } +{ % added - gnp. Provide label formatting by organization if editor is null. + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, editor or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION { author.editor.key.label } +{ + author empty.or.unknown + { editor empty.or.unknown + { key empty.or.unknown + { "no key, author, or editor in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { calc.label } +{ + % Changed - GNP. See also author.organization.sort, editor.organization.sort + % Form label for BibTeX entry. The classification of which fields are used + % for which type of entry (book, inbook, etc.) are taken from alpha.bst. + % The change here from newapa is to also include organization as a + % citation label if author or editor is missing. + + type$ "book" = + type$ "inbook" = + or + type$ "periodical" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + + author empty.or.unknown % generate the full label citation information. + { + editor empty.or.unknown + { + organization empty.or.unknown + { + key empty.or.unknown + { + "no author, editor, organization, or key in " cite$ * warning$ + "??" + } + { key } + if$ + } + { organization } + if$ + } + { editor my.full.label } + if$ + } + { author my.full.label } + if$ + + % leave label on the stack, to be popped when required. + + "}{" * swap$ * "}{" * + % year field.or.null purify$ #-1 #4 substring$ * + % + % save the year for sort processing afterwards (adding a, b, c, etc.) + % + year field.or.null purify$ #-1 #4 substring$ + 'label.year := +} + +FUNCTION { output.bibitem } +{ + newline$ + %% acmtrans.bst alphanumeric style: + %%: "\bibitem[\protect\citeauthoryear{" write$ + %%: calc.label write$ + %%: sort.year write$ + %%: "}]%" writeln + %%: " {" write$ + %%: cite$ write$ + %%: "}" writeln + %% acm-plain.bst numeric style: + newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url } +{ % enter and return with stack empty + %% We switch now from buffered output to output of complete lines, so + %% that the Issue .. URL data have their own lines, and are less likely + %% to be line-wrapped by BibTeX's short-sighted algorithm, which wraps + %% lines longer than 79 characters, backtracking to what it thinks is + %% a break point in the string. Any such wrapping MUST be undone to + %% prevent percent-newline from appearing in DOIs and URLs. The + %% output data are intentionally wrapped in \showxxx{} macros at + %% beginning of line, and that supply their own punctuation (if they + %% are not defined to suppress output entirely), to make it easier for + %% other software to recover them from .bbl files. + %% + %% It also makes it possible to later change the macro definitions + %% to suppress particular output values, or alter their appearance. + %% + %% Note that it is possible for theses, technical reports, and + %% manuals to have ISBNs, and anything that has an ISBN may also + %% have an ISSN. When there are no values for these keys, there + %% is no output generated for them here. + + "\newblock" writeln + after.block 'output.state := + + output.issue + output.isbn + output.coden % CODEN is functionally like ISSN, so output them sequentially + output.issn + output.lccn + output.doi % DOI is ALWAYS last according to CrossRef DOI documentation + output.url % but ACM wants URL last +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note + } + if$ + "" +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note.check } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note.check + } + if$ + "" +} + +FUNCTION { article } +{ + output.bibitem + + author empty.or.unknown + { + editor empty.or.unknown + { "neither author and editor supplied for " cite$ * warning$ } + { format.editors "editor" output.check } + if$ + } + { format.authors "author" output.check } + if$ + + author format.no.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + howpublished output + + crossref missing$ + { format.journal.volume.number.day.month.year } + { + "cross reference in @Article{...} is unusual" warning$ + format.article.crossref output.nonnull + } + if$ + output + + format.pages.check.without.articleno output + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { book } +{ + output.bibitem + author empty.or.unknown + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + fin.sentence + pages empty.or.unknown + { format.bookpages } % use bookpages when pages empty + { format.pages.check "pages" tie.or.space.connect } + if$ + output + } + { new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { booklet } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + new.block + howpublished output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inbook } +{ + output.bibitem + author empty.or.unknown + { format.editors + "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages + "chapter and pages" output.check % jtb: moved from before publisher + } + { + format.bookpages output + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { incollection } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages output % gnp - was special.output.nonnull + % left out comma before page numbers + % jtb: moved from before publisher + } + { + format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inproceedings } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + howpublished output.dot.space + crossref missing$ + { + journal missing$ % jtb: proceedings appearing in journals + { format.in.emphasize.booktitle format.city "booktitle" output.check.dot.space + format.series output.removenospace + format.editors.fml output.dot.space + format.bvolume.noseries output + new.sentence + organization output + publisher "publisher" output.check % jtb: require publisher (?) + address "address" output.check % jtb: require address + format.bookpages output + } + { + format.in.booktitle format.city "booktitle" output.check + format.editors.fml output + new.sentence + format.journal.volume.number.day.month.year output + } + if$ + format.articleno output + format.pages.check.without.articleno output + } + { + format.incoll.inproc.crossref output.nonnull + format.articleno output + format.pages.check.without.articleno output + } + if$ + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { conference } { inproceedings } + +FUNCTION { manual } +{ + output.bibitem + author empty.or.unknown + { editor empty.or.unknown + { organization "organization" output.check + organization format.key output } % if all else fails, use key + { format.editors "author and editor" output.check } + if$ + } + { format.authors output.nonnull } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + organization address new.block.checkb + % jtb: back to normal style: organization, address + organization "organization" output.check + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { mastersthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "M.S.\ thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { misc } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + title howpublished new.block.checkb + format.title output + new.block + howpublished output + "" output.nonnull.dot.space + output.day.month.year + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { phdthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "Ph.D. thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION {format.date} +{ year empty.or.unknown + { month empty.or.unknown + { + "" % output empty date if year/month both empty + day empty.or.unknown + { } + { "there's a day but no month or year in " cite$ * warning$ } + if$ + } + { "there's a month but no year in " cite$ * warning$ + month + day empty.or.unknown + { } + { " " * day * } + if$ + } + if$ + } + { month empty.or.unknown + { + year % output only year if month empty + day empty.or.unknown + { } + { "there's a day and year but no month in " cite$ * warning$ } + if$ + } + { + month " " * + day empty.or.unknown + { } + { day * ", " * } + if$ + year * + } + if$ + } + if$ +} + +FUNCTION {new.block.checka} +{ + empty.or.unknown + 'skip$ + 'new.block + if$ +} + +FUNCTION { periodical } +{ + output.bibitem + editor empty.or.unknown + { organization output } + { format.editors output.nonnull } + if$ + new.block + title emphasize "title" output.check + format.date output + new.sentence + publisher output + address output + howpublished new.block.checka + howpublished output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { proceedings } +{ + output.bibitem + editor empty.or.unknown + { organization output + organization format.key output } % gnp - changed from author format.key + { format.editors output.nonnull } + if$ + % author format.key output % gnp - removed (should be either + % editor or organization + output.year.check % added (newapa) + new.block + format.btitle format.city "title" output.check % jtb: added city + new.sentence + format.bvolume output + format.number.series output + new.sentence + organization output + % jtb: normal order: publisher, address + publisher output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { techreport } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.btitle "title" output.check + new.block + format.tr.number output % jtb: moved month ... + institution "institution" output.check + address output + new.sentence + format.named.pages output + % ACM omits year at end in transactions style + % format.day.month.year output.nonnull.dot.space % jtb: ... to here (no parens) + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { unpublished } +{ + output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + fin.sentence + output.day.month.year % UTAH + fin.block + output.issue.doi.coden.isxn.lccn.url.note.check + fin.entry +} + +FUNCTION { default.type } { misc } + +%%% ACM journal-style month definitions: full name if 1--5 letters, else +%%% abbreviation of 3 or 4 characters and a dot + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + + +%%% ==================================================================== +%%% I M P O R T A N T C H A N G E +%%% +%%% For the 2009 release of the official acm-*.bst files, there are to +%%% be NO predefined journal abbreviations in those style files. +%%% +%%% ACM may later develop an official list of mappings of full journal +%%% names of commonly-cited journals to ACM-preferred abbreviations, but +%%% authors should consider that use of any of these commented-out +%%% abbreviations is DEPRECATED unless the BibTeX file itself provides +%%% its own @String{name = "value"} definitions. +%%% +%%% Use of journal (and publisher and address) @String{...} +%%% abbreviations, as opposed to explicit value assignments such as +%%% journal = "J. ACM" and publisher = "IEEE", is preferred in +%%% bibliographic databases, because it makes it easier for journal +%%% production staff to replace those definitions by publisher-preferred +%%% abbreviations when articles are typeset for publication. +%%% +%%% For historical reasons, and because some of these abbreviations are +%%% used in other (non-ACM) bibliography style files, they are preserved +%%% here in comments. Future releases of the acm*-.bst files are likely +%%% to remove them entirely. +%%% ==================================================================== +%%% +%%% DEPRECATED: MACRO {acmcs} {"ACM Comput. Surv."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acmlett} {"ACM Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acta} {"Acta Inf."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ai} {"Artificial Intelligence"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {al} {"Ada Lett."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acr} {"Adv. Comput. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {bit} {"Bit"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cacm} {"Commun. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cj} {"Comput. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cn} {"Comput. Netw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cl} {"Comput. Lang."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmjrd} {"IBM J. Res. and Development"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmsj} {"IBM Systems Journal"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ict} {"Inf. Contr."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieebcs} {"IEE/BCS Softw. Eng. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieees} {"IEEE Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeese} {"IEEE Trans. Softw. Eng."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetc} {"IEEE Trans. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetpds} {"IEEE Trans. Parall. Distrib. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetit} {"IEEE Trans. Inf. Theory"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ipl} {"Inf. Process. Lett."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {icp} {"Inf. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ist} {"Inf. Softw. Tech."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijsa} {"Int. J. Supercomput. Appl."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijpp} {"Int. J. Parallel Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jacm} {"J. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: % MACRO {jcss} {"Journal of Computer and System Sciences"} % original BibTeX +%%% DEPRECATED: MACRO {jcss} {"J. Comput. Syst. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlp} {"J. Logic Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jfp} {"J. Funct. Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jsmrp} {"J. Softw. Maint. Res. Pract."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jss} {"J. Syst. Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlc} {"J. Logic and Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlsc} {"J. Lisp Symb. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {lpls} {"Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mor} {"Math. Oper. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mscs} {"Math. Struct. Comput. Sci."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mst} {"Math. Syst. Theor."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ngc} {"New Gen. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {scp} {"Sci. Comput. Program."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {sicomp} {"SIAM J. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {spe} {"Softw. Pract. Exper."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tocs} {"ACM Trans. Comput. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tods} {"ACM Trans. Database Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tog} {"ACM Trans. Graphics"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toms} {"ACM Trans. Math. Softw."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toois} {"ACM Trans. Office Inf. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toplas} {"ACM Trans. Program. Lang. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tcs} {"Theor. Comput. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tr} {"Tech. Rep."} +%%% ==================================================================== + +READ + +FUNCTION { sortify } +{ + purify$ + "l" change.case$ +} + +FUNCTION { chop.word } +{ + 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION { sort.format.names } +{ + 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + % s nameptr "{ff{ } }{ll{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { " et~al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION { sort.format.title } +{ + 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION { author.sort } +{ + author empty.or.unknown + { key empty.or.unknown + { "to sort, need author or key in " cite$ * warning$ + "" } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { author.editor.sort } +{ + author empty.or.unknown + { + editor empty.or.unknown + { + key empty.or.unknown + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { author.organization.sort } +{ + % added - GNP. Stack author or organization for sorting (from alpha.bst). + % Unlike alpha.bst, we need entire names, not abbreviations + + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION { editor.organization.sort } +{ + % added - GNP. Stack editor or organization for sorting (from alpha.bst). + % Unlike alpha.bst, we need entire names, not abbreviations + + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { organization sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION { presort } +{ + % Presort creates the bibentry's label via a call to calc.label, and then + % sorts the entries based on entry type. Chicago.bst adds support for + % including organizations as the sort key; the following is stolen from + % alpha.bst. + + %%: calc.label sortify % recalculate bibitem label + %%: year field.or.null purify$ #-1 #4 substring$ * % add year + %% " " + %% * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE { presort } + +SORT % by label, year, author/editor, title + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION { initialize.extra.label.stuff } +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +EXECUTE {initialize.extra.label.stuff} + +FUNCTION { begin.bib } +{ + %% Set to #0 show 13-digit ISBN in preference to 10-digit ISBN. + %% Set to #1 to show both 10-digit and 13-digit ISBNs. + #1 'show-isbn-10-and-13 := + + "%%% -*-BibTeX-*-" writeln + "%%% Do NOT edit. File created by BibTeX with style acmtrans-v2 [15-Nov-2008]." writeln + "" writeln + + preamble$ empty.or.unknown + 'skip$ + { preamble$ writeln } + if$ + "\begin{thebibliography}{" longest.label * "}" * writeln + "" writeln + "%%% ====================================================================" writeln + "%%% NOTE TO THE USER: you can override these defaults by providing" writeln + "%%% customized versions of any of these macros before the \bibliography" writeln + "%%% command. Each of them MUST provide its own final punctuation," writeln + "%%% except for \shownote{}, \showDOI{}, and \showURL{}. The latter two" writeln + "%%% do not use final punctuation, in order to avoid confusing it with" writeln + "%%% the Web address." writeln + "%%%" writeln + "%%% To suppress output of a particular field, define its macro to expand" writeln + "%%% to an empty string, or better, \unskip, like this:" writeln + "%%%" writeln + "%%% \newcommand{\showDOI}[1]{\unskip} % LaTeX syntax" writeln + "%%%" writeln + "%%% \def \showDOI #1{\unskip} % plain TeX syntax" writeln + "%%%" writeln + "%%% ====================================================================" writeln + "" writeln + + %% ACM publications do not use CODEN, ISSN, and LCCN data, so their default + %% macro wrappers expand to \unskip, discarding their values and unwanted + %% space. + %% + %% For other publications, prior definitions like these may be useful: + %% + %% Plain TeX: + %% \def \showCODEN #1{CODEN #1.} + %% \def \showISSN #1{ISSN #1.} + %% \def \showLCCN #1{LCCN #1.} + %% + %% LaTeX: + %% \newcommand{\showCODEN}[1]{CODEN #1.} + %% \newcommand{\showISSN}[1]#1{ISSN #1.} + %% \newcommand{\showLCCN}[1]{LCCN #1.} + + "\ifx \showCODEN \undefined \def \showCODEN #1{\unskip} \fi" writeln + "\ifx \showDOI \undefined \def \showDOI #1{{\tt DOI:}\penalty0{#1}\ } \fi" writeln + % ACM styles omit ISBNs, but they can be included by suitable definitions of + % \showISBNx and \showISBNxiii before the .bbl file is read + "\ifx \showISBNx \undefined \def \showISBNx #1{\unskip} \fi" writeln + "\ifx \showISBNxiii \undefined \def \showISBNxiii #1{\unskip} \fi" writeln + "\ifx \showISSN \undefined \def \showISSN #1{\unskip} \fi" writeln + "\ifx \showLCCN \undefined \def \showLCCN #1{\unskip} \fi" writeln + "\ifx \shownote \undefined \def \shownote #1{#1} \fi" writeln % NB: final period supplied by add.period$ above + "\ifx \showarticletitle \undefined \def \showarticletitle #1{#1} \fi" writeln + "\ifx \showURL \undefined \def \showURL #1{#1} \fi" writeln +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION { end.bib } +{ + newline$ + "\end{thebibliography}" + writeln +} + +EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/acmart/acm-unsrt.bst b/Master/texmf-dist/bibtex/bst/acmart/acm-unsrt.bst new file mode 100644 index 00000000000..0994f2c2412 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/acmart/acm-unsrt.bst @@ -0,0 +1,3142 @@ +%%% -*-BibTeX-*- +%%% ==================================================================== +%%% @BibTeX-style-file{ +%%% author = "Nelson H. F. Beebe and many others", +%%% version = "1.03", +%%% date = "15 April 2011", +%%% time = "23:55:02 EDT", +%%% filename = "acm-unsrt.bst", +%%% address = "University of Utah +%%% Department of Mathematics, 110 LCB +%%% 155 S 1400 E RM 233 +%%% Salt Lake City, UT 84112-0090 +%%% USA", +%%% telephone = "+1 801 581 5254", +%%% FAX = "+1 801 581 4148", +%%% URL = "http://www.math.utah.edu/~beebe", +%%% checksum = "18030 3142 11525 86689", +%%% email = "beebe@math.utah.edu, beebe@acm.org, +%%% beebe@computer.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "ACM unsrt bibliography style; BibTeX", +%%% license = "public domain", +%%% supported = "yes", +%%% abstract = "", +%%% docstring = "The checksum field above contains a CRC-16 +%%% checksum as the first value, followed by the +%%% equivalent of the standard UNIX wc (word +%%% count) utility output of lines, words, and +%%% characters. This is produced by Robert +%%% Solovay's checksum utility.", +%%% } +%%% ==================================================================== + +% "ACM unsrt" BibTeX style, derived by minimal modifications from acm-plain.bst +% "ACM Transactions" BibTeX style, acmtrans-v2.bst +% for BibTeX version 0.99c, LaTeX version 3.141 +% ACM extensions with code cleaned up, extended, and debugged 10--15-Nov-2008 +% Revised 28-MARCH-1996 +% Revised 30-JUNE-1995 +% Revised 15-JAN-1996 +% Revised 17-APRIL-2008 +% Revised 13-MARCH-2011 +% Revised 27-MARCH-2011 +% Revised 15-APRIL-2011 +% +% Hacked by John T. Boyland at University of California, Berkeley +% (with assistance by John R. Hauser) +% Hacked by Andrew W. Appel and Rebecca L. Davies at Princeton University, +% based on a "chicago.bst" by Glenn Paulley at U. Waterloo, +% which was based on "newapa.bst" found at ymir.claremont.edu. +% +% Version 2.2 +% Johny Sebatian and Sanjeev Sharma +% Aptara corp (c) 2008 +% +% History +% +% Date: 28th April 2008 +% +% 1. Avoid 'repeating' the 'month' values. +% 2. Avoid incorrectly italicizing the volume number. +% 3. Avoid non italicizing certain titles (book, inproceedings etc). +% 4. NO series if there is NO volume. +% 5. Sorting of reference with first surname. +% 6. Article no added for Inproceedings. +% +% Date: 07th May 2008 +% +% 1. Abbreviation list added +% +% Citation format: [author-last-name year] +% [author-last-name and author-last-name year] +% [author-last-name, author-last-name, and author-last-name year] +% [author-last-name et al. year] +% [author-last-name] +% author-last-name [year] +% [author-last-name and author-last-name] +% [author-last-name et al.] +% [year] or [year,year] +% year or year,year +% +% Reference list ordering: alphabetical by author or whatever passes +% for author in the absence of one. +% +% This BibTeX style has support for abbreviated author lists and for +% year-only citations. This is done by having the citations +% actually look like +% +% \citeauthoryear{full-author-info}{abbrev-author-info}{year} +% +% The LaTeX style has to have the following (or similar) +% +% \let\@internalcite\cite +% \def\fullcite{\def\citeauthoryear##1##2##3{##1, ##3}\@internalcite} +% \def\fullciteA{\def\citeauthoryear##1##2##3{##1}\@internalcite} +% \def\shortcite{\def\citeauthoryear##1##2##3{##2, ##3}\@internalcite} +% \def\shortciteA{\def\citeauthoryear##1##2##3{##2}\@internalcite} +% \def\citeyear{\def\citeauthoryear##1##2##3{##3}\@internalcite} +% +% These TeX macro definitions are found in acmtrans.sty. Additional +% commands to manipulate different components of a citation can be defined +% so that, for example, you can list author's names without parentheses +% if using a citation as a noun or object in a sentence. +% +% Features of acmtrans.bst: +% ======================== +% +% - all authors appear last name first. +% - all pages are listed xx-xx, (no pp.) and are at the end of the reference +% - publishers are identified as publisher, address +% - conferences papers (inproceedings) may give city of conference, +% date of conference, and journal that the proceedings appear in. +% - months abbreviated to max four letters (eg. Mar.) +% - volume of a series indicated after the title of the series +% - editors appear after edited title and are identified by a trailing "Eds." +% not in parentheses. Editor names are not given in small caps. +% (unless there is no author line) +% - names terminated with a period even if there is no first name. +% - editions are indicated trailing after the work, not in parentheses. +% - "et al." citations have a protected period to avoid bad spacing (jrh) +% - "address" required when publisher given +% - series (roman) and volume are in a sentence separate from (book-)title +% +% +% Features of chicago.bst: +% ======================= +% +% - full names used in citations, but abbreviated citations are available +% (see above) +% - if an entry has a "month", then the month and year are also printed +% as part of that bibitem. +% - all conjunctions use "and" instead of "\&" +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. +% - book, inbook, and manual use "location: publisher" (or organization) +% for address and publisher. All other types list publishers separately. +% - "pp." are used to identify page numbers for all entry types except +% articles. +% - organization is used as a citation label if neither author nor editor +% is present (for manuals). +% - "et al." is used for long author and editor lists, or when "others" +% is used. +% +% Modifications and bug fixes from newapa.bst: +% =========================================== +% +% - added month, year to bib entries if month is present +% - fixed bug with In proceedings, added necessary comma after title +% - all conjunctions changed to "and" from "\&" +% - fixed bug with author labels in my.full.label: "et al." now is +% generated when "others" is an author name +% - major modification from Chicago Manual of Style (13th ed.) is that +% only the first author in a reference appears last name first- +% additional authors appear as J. Q. Public. +% - pages are listed as "pp. xx-xx" in all entry types except +% article entries. Unnecessary (IMHO) "()" around page numbers +% were removed, and page numbers now don't end with a period. +% - created chicago.sty for use with this bibstyle (required). +% - fixed bugs in FUNCTION {format.vol.num.pages} for missing volume, +% number, and /or pages. Renamed to format.journal.volume.number. +% - fixed bug in formatting booktitles: additional period an error if +% book has a volume. +% - fixed bug: editors usually given redundant period before next clause +% (format.editors.dot) removed. +% - added label support for organizations, if both author and editor +% are missing (from alpha.bst). If organization is too long, then +% the key field is used for abbreviated citations. +% - In proceedings or books of several volumes, no comma was written +% between the "Volume x" and the page numbers (this was intentional +% in newapa.bst). Fixed. +% - Some journals may not have volumes/numbers, only month/year (eg. +% IEEE Computer). Fixed bug in article style that assumed volume/number +% was always present. +% +% Original documentation for newapa.sty: +% ===================================== +% +% This version was made by modifying the master file made by +% Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU), and the 'named' BibTeX +% style of Peter F. Patel-Schneider. +% +% Copyright (C) 1985, all rights reserved. +% Copying of this file is authorized only if either +% (1) you make absolutely no changes to your copy, including name, or +% (2) if you do make changes, you name it something other than 'newapa.bst'. +% There are undoubtably bugs in this style. If you make bug fixes, +% improvements, etc. please let me know. My e-mail address is: +% spencer@cgrg.ohio.state.edu or 71160.3141@compuserve.com +% +% This style was made from 'plain.bst', 'named.bst', and 'apalike.bst', +% with lots of tweaking to make it look like APA style, along with tips +% from Young Ryu and Brian Reiser's modifications of 'apalike.bst'. + +ENTRY + { address + advisor + author + booktitle + chapter + city % jtb: added + date % jtb: added + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + % New keys recognized for acmtrans-v2.bst + issue % UTAH: used in, e.g., ACM SIGSAM Bulletin and ACM Communications in Computer Algebra + articleno + day % UTAH: needed for newspapers, weeklies, bi-weeklies + doi % UTAH + url % UTAH + bookpages % UTAH + numpages + lastaccessed % UTAH: used only for @Misc{...} + coden % UTAH + isbn % UTAH + isbn-13 % UTAH + issn % UTAH + lccn % UTAH + } + {} + { label label.year extra.label sort.year sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +INTEGERS { show-isbn-10-and-13 } % initialized below in begin.bib + +INTEGERS { nameptr namesleft numnames } + +INTEGERS { multiresult } + +INTEGERS { len } + +INTEGERS { last.extra.num } + +STRINGS { s t t.org u } + +STRINGS { last.label next.extra } + +STRINGS { p1 p2 p3 page.count } + +FUNCTION { dump.stack.1 } +{ + duplicate$ "STACK[top] = [" swap$ * "]" * warning$ +} + +FUNCTION { dump.stack.2 } +{ + duplicate$ "STACK[top ] = [" swap$ * "]" * warning$ + swap$ + duplicate$ "STACK[top-1] = [" swap$ * "]" * warning$ + swap$ +} + +FUNCTION { empty.or.unknown } +{ + %% Examine the top stack entry, and push 1 if it is empty, or + %% consists only of whitespace, or is a string beginning with two + %% queries (??), and otherwise, push 0. + %% + %% This function provides a replacement for empty$, with the + %% convenient feature that unknown values marked by two leading + %% queries are treated the same as missing values, and thus, do not + %% appear in the output .bbl file, and yet, their presence in .bib + %% file(s) serves to mark values which are temporarily missing, but + %% are expected to be filled in eventually once more data is + %% obtained. The TeX User Group and BibNet bibliography archives + %% make extensive use of this practice. + %% + %% An empty string cannot serve the same purpose, because just as in + %% statistics data processing, an unknown value is not the same as an + %% empty value. + %% + %% At entry: stack = ... top:[string] + %% At exit: stack = ... top:[0 or 1] + + duplicate$ empty$ + { pop$ #1 } + { #1 #2 substring$ "??" = } + if$ +} + +FUNCTION { writeln } +{ + %% In BibTeX style files, the sequences + %% + %% ... "one" "two" output + %% ... "one" "two" output.xxx + %% + %% ship "one" to the output file, possibly following by punctuation, + %% leaving the stack with + %% + %% ... "two" + %% + %% There is thus a one-string lag in output processing that must be + %% carefully handled to avoid duplicating a string in the output + %% file. Unless otherwise noted, all output.xxx functions leave + %% just one new string on the stack, and that model should be born + %% in mind when reading or writing function code. + %% + %% BibTeX's asynchronous buffering of output from strings from the + %% stack is confusing because newline$ bypasses the buffer. It + %% would have been so much easier for newline to be a character + %% rather than a state of the output-in-progress. + %% + %% The documentation in btxhak.dvi is WRONG: it says + %% + %% newline$ Writes onto the bbl file what's accumulated in the + %% output buffer. It writes a blank line if and only + %% if the output buffer is empty. Since write$ does + %% reasonable line breaking, you should use this + %% function only when you want a blank line or an + %% explicit line break. + %% + %% write$ Pops the top (string) literal and writes it on the + %% output buffer (which will result in stuff being + %% written onto the bbl file when the buffer fills + %% up). + %% + %% Examination of the BibTeX source code shows that write$ does + %% indeed behave as claimed, but newline$ sends a newline character + %% directly to the output file, leaving the stack unchanged. The + %% first line "Writes onto ... buffer." is therefore wrong. + %% + %% The original BibTeX style files almost always use "write$ newline$" + %% in that order, so it makes sense to hide that pair in a private + %% function like this one, named after a statement in Pascal, + %% the programming language embedded in the BibTeX Web program. + + write$ % output top-of-stack string + newline$ % immediate write of newline (not via stack) +} + +FUNCTION { init.state.consts } +{ + #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +FUNCTION { output.nonnull } +{ % Stack in: ... R S T Stack out: ... R T File out: S<comma><space> + 's := + output.state mid.sentence = + { + ", " * write$ + } + { + output.state after.block = + { + add.period$ writeln + "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.dot.space } +{ % Stack in: ... R S T Stack out: ... R T File out: S<dot><space> + 's := + output.state mid.sentence = % { "<DEBUG output.nonnull.dot.space>. " * write$ } + { + ". " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.remove } +{ % Stack in: ... R S T Stack out: ... R T File out: S<space> + 's := + output.state mid.sentence = + { + " " * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output.nonnull.removenospace } +{ % Stack in: ... R S T Stack out: ... R T File out: S + 's := + output.state mid.sentence = + { + "" * write$ + } + { + output.state after.block = + { + add.period$ writeln "\newblock " write$ + } + { + output.state before.all = + { + write$ + } + { + add.period$ " " * write$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION { output } +{ % discard top token if empty, else like output.nonnull + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION { output.dot.space } +{ % discard top token if empty, else like output.nonnull.dot.space + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.dot.space + if$ +} + +FUNCTION { output.removenospace } +{ % discard top token if empty, else like output.nonnull.removenospace + duplicate$ empty.or.unknown + 'pop$ + 'output.nonnull.removenospace + if$ +} + +FUNCTION { output.check } +{ % like output, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION { output.check.dot.space } +{ % like output.dot.space, but warn if key name on top-of-stack is not set + 't := + duplicate$ empty.or.unknown + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.dot.space + if$ +} + +FUNCTION { fin.block } +{ % functionally, but not logically, identical to fin.entry + add.period$ + writeln +} + +FUNCTION { fin.entry } +{ + add.period$ + writeln +} + +FUNCTION { new.sentence } +{ % update sentence state, with neither output nor stack change + output.state after.block = + 'skip$ + { + output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION { fin.sentence } +{ + add.period$ + write$ + new.sentence + "" +} + +FUNCTION { new.block } +{ + output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION { output.coden } % UTAH +{ % output non-empty CODEN as one-line sentence (stack untouched) + coden empty.or.unknown + { } + { "\showCODEN{" coden * "}" * writeln } + if$ +} + +FUNCTION { format.articleno } +{ + articleno empty.or.unknown + { "" } + { + numpages empty.or.unknown + { "articleno field, but no numpages field, in " cite$ * warning$ } + { } + if$ + "Article " articleno * + } + if$ +} + +FUNCTION { format.year } +{ % push year string or "????" onto output stack + %% Because year is a mandatory field, we always force SOMETHING + %% to be output + year empty.or.unknown + { "????" } + { year } + if$ +} + +FUNCTION { format.day.month } +{ % push "day month " or "month " or "" onto output stack + day empty.or.unknown + { + month empty.or.unknown + { "" } + { month " " *} + if$ + } + { + month empty.or.unknown + { "" } + { day " " * month * " " *} + if$ + } + if$ +} + +FUNCTION { format.day.month.year } % UTAH +{ % if month is empty, push "" else push "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + % acm-*.bst addition: prefix parenthesized date string with + % ", Article nnn " + articleno empty.or.unknown + { "" } + { ", " format.articleno * } + if$ + " (" * format.day.month * format.year * ")" * +} + +FUNCTION { output.day.month.year } % UTAH +{ % if month is empty value, do nothing; else output stack top and + % leave with new top string "(MON.)" or "(DD MON.)" + % Needed for frequent periodicals: 2008. ... New York Times C-1, C-2, C-17 (23 Oct.) + format.day.month.year + output.nonnull.remove +} + +FUNCTION { strip.doi } % UTAH +{ % Strip any Web address prefix to recover the bare DOI, leaving the + % result on the output stack, as recommended by CrossRef DOI + % documentation. + % For example, reduce "http://doi.acm.org/10.1145/1534530.1534545" to + % "10.1145/1534530.1534545". That is later typeset and displayed as + % doi:10.1145/1534530.1534545 as the LAST item in the reference list + % entry. Publisher Web sites wrap this with a suitable link to a real + % URL to resolve the DOI, and the master http://dx.doi.org/ address is + % preferred, since publisher-specific URLs can disappear in response + % to economic events. All journals are encouraged by the DOI + % authorities to use that typeset format and link procedures for + % uniformity across all publications that include DOIs in reference + % lists. + % The numeric prefix is guaranteed to start with "10.", so we use + % that as a test. + doi #1 #3 substring$ "10." = + { doi } + { + doi #1 #7 substring$ "http://" = + { + doi #8 doi text.length$ #7 - substring$ 't := % get modifiable copy of rest of DOI + + "INTERNAL STYLE-FILE ERROR" 's := + + % search for next "/" and assign its suffix to s + + { t text.length$ } + { + t #1 #1 substring$ "/" = + { + % save rest of string as true DOI (should be 10.xxxx/yyyy) + t #2 t text.length$ #1 - substring$ 's := + "" 't := % empty string t terminates the loop + } + { + % discard first character and continue loop: t <= substring(t,2,last) + t #2 t text.length$ #1 - substring$ 't := + } + if$ + } + while$ + + % check for valid DOI (should be 10.xxxx/yyyy) + s #1 #3 substring$ "10." = + { } + { "unrecognized DOI substring " s * " in DOI value [" * doi * "]" * warning$ } + if$ + + s % push the stripped DOI on the output stack + + } + { + "unrecognized DOI value [" doi * "]" * warning$ + doi % push the unrecognized original DOI on the output stack + } + if$ + } + if$ +} + +% +% Change by BV: added standard prefix to URL +% +FUNCTION { output.doi } % UTAH +{ % output non-empty DOI as one-line sentence (stack untouched) + doi empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which then requires + %% manual (or automated) editing of the .bbl file to repair. + %% The \url{} macro strips percent-newlines, and is thus safe in + %% the presence of the line wrapping, but \path|...| and + %% \verb|...| do not. + "\showDOI{%" writeln + "\url{http://dx.doi.org/" strip.doi * "}}" * writeln + } + if$ +} + +FUNCTION { output.isbn } % UTAH +{ % output non-empty ISBN-10 and/or ISBN-13 as one-line sentences (stack untouched) + show-isbn-10-and-13 + { + %% show both 10- and 13-digit ISBNs + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + isbn-13 empty.or.unknown + { } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + { + %% show 10-digit ISBNs only if 13-digit ISBNs not available + isbn-13 empty.or.unknown + { + isbn empty.or.unknown + { } + { + "\showISBNx{" isbn * "}" * writeln + } + if$ + } + { + "\showISBNxiii{" isbn-13 * "}" * writeln + } + if$ + } + if$ +} + +FUNCTION { output.issn } % UTAH +{ % output non-empty ISSN as one-line sentence (stack untouched) + issn empty.or.unknown + { } + { "\showISSN{" issn * "}" * writeln } + if$ +} + +FUNCTION { output.issue } +{ % output non-empty issue number as a one-line sentence (stack untouched) + issue empty.or.unknown + { } + { "Issue " issue * "." * writeln } + if$ +} + +FUNCTION { output.lccn } % UTAH +{ % return with stack untouched + lccn empty.or.unknown + { } + { "\showLCCN{" lccn * "}" * writeln } + if$ +} + +FUNCTION { output.note } % UTAH +{ % return with stack empty + note empty.or.unknown + { } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +FUNCTION { output.note.check } % UTAH +{ % return with stack empty + note empty.or.unknown + { "empty note in " cite$ * warning$ } + { "\shownote{" note add.period$ * "}" * writeln } + if$ +} + +% +% Changes by BV 2011/04/15. Do not output +% url if doi is defined +% +FUNCTION { output.url } % UTAH +{ % return with stack untouched + % output URL and associated lastaccessed fields + doi empty.or.unknown + { + url empty.or.unknown + { } + { + %% NB: We want URLs at beginning of line to reduce likelihood of + %% BibTeX's nasty line wrapping after column 79, which would require + %% manual (or automated) editing of the .bbl file to repair. However, + %% the \url{} macro handles the unwrapping job automatically. + "\showURL{%" writeln + lastaccessed empty.or.unknown + { "" } + { "Retrieved " lastaccessed * " from " * } + if$ + + %% The URL field may contain a semicolon-separated list of Web + %% addresses, and we locate and wrap each of them in \url{...}. + %% The simplistic approach of putting the entire list into the + %% macro argument is that the semicolons are typeset in a + %% typewriter font, and no space follows them. + %% + %% We therefore replace the original code + %% "\url{" * url * "}}" * writeln + %% with this character-at-a-time loop: + + "\url{" * + + url 't := % get modifiable copy of URL list + + { t text.length$ } + { + t #1 #1 substring$ ";" = + { % then split argument at separator + "};" * writeln + "\url{" + } + { % else concatenate nonblank character to argument + t #1 #1 substring$ " " = + { } + { t #1 #1 substring$ * } + if$ + } + if$ + + t #2 t text.length$ #1 - substring$ 't := + } + while$ + + "}}" * writeln + } + if$ + } + { } + if$ +} + +FUNCTION { output.year.check } +{ % warn if year empty, else output top string and leave " YEAR<label>" on stack in mid-sentence + year empty.or.unknown + { "empty year in " cite$ * warning$ } + { write$ + " " year * extra.label * + mid.sentence 'output.state := + } + if$ +} + +FUNCTION { not } +{ + { #0 } + { #1 } + if$ +} + +FUNCTION { and } +{ + 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION { or } +{ + { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION { le } +{ + %% test whether first number is less than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 <= n2 then 1 else 0 + + %% "DEBUG: le " cite$ * warning$ + > { #0 } { #1 } if$ +} + +FUNCTION { ge } +{ + %% test whether first number is greater than or equal to second number + %% stack in: n1 n2 + %% stack out: if n1 >= n2 then 1 else 0 + + %% "DEBUG: ge " cite$ * warning$ + < { #0 } { #1 } if$ +} + +FUNCTION { is.leading.digit } +{ + %% test whether first character of string is a digit + %% stack in: string + %% stack out: if first-char-is-digit then 1 else 0 + + #1 #1 substring$ % replace string by string[1:1] + duplicate$ % string[1:1] string[1:1] + chr.to.int$ + "0" chr.to.int$ swap$ le % "0" <= string[1:1] --> 0-or-1 + swap$ % 0-or-1 string[1:1] + chr.to.int$ + "9" chr.to.int$ le % string[1:1} <= "9" --> 0-or-1 + and +} + +FUNCTION { skip.digits } +{ + %% skip over leading digits in string + %% stack in: string + %% stack out: rest-of-string leading-digits + + duplicate$ + 't := + 't.org := + "" 'u := + + { t text.length$ } + { + %% "=================DEBUG: skip.digits t = [" t * "]" * warning$ + t is.leading.digit + { t #2 t text.length$ #1 - substring$ } + { + t 'u := + "" + } + if$ + 't := + } + while$ + + u % rest of string + t.org #1 t.org text.length$ u text.length$ - substring$ % leading digits +} + +FUNCTION { skip.nondigits } +{ + %% skip over leading nondigits in string + %% stack in: string + %% stack out: rest-of-string + + 't := + "" 'u := + + { t text.length$ } + { + t is.leading.digit + { + t 'u := + "" + } + { t #2 t text.length$ #1 - substring$ } + if$ + 't := + } + while$ + + u % rest of string +} + +FUNCTION { parse.next.number } +{ + %% stack in: string + %% stack out: rest-of-string next-numeric-part-of-string + %% Example: + %% stack in: "123:1--123:59" + %% stack out: ":1--123:59" "123" + + 's := + s skip.nondigits 's := + s skip.digits +} + +FUNCTION { reduce.pages.to.page.count } +{ + %% Stack in: arbitrary-and-unused + %% Stack out: unchanged + %% + %% For the new-style pagination with article number and numpages or + %% pages, we expect to have BibTeX entries containing something like + %% articleno = "17", + %% pages = "1--23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% numpages = "23", + %% with output "Article 17, 23 pages", + %% or + %% articleno = "17", + %% pages = "17:1--17:23", + %% with output "Article 17, 23 pages", + %% + %% If articleno is missing or empty, then we should output "1--23", + %% "23" (with a warning of a missing articleno), or "17:1--17:23", + %% respectively. + + %% "DEBUG: enter reduce.pages.to.page.count " cite$ * warning$ + + %% "DEBUG: pages = [" pages * "]" * warning$ + + pages + parse.next.number 'p1 := + parse.next.number 'p2 := + parse.next.number 'p3 := + parse.next.number 'page.count := + + duplicate$ + empty.or.unknown + { } + { + duplicate$ "unexpected trailing garbage [" swap$ * + "] after n:p1--n:p2 in pages = [" * + pages * + "] in " * + cite$ * + warning$ + } + if$ + + pop$ + + %% "DEBUG: reduce.pages.to.page.count: " + %% " p1 = " p1 * * + %% " p2 = " p2 * * + %% " p3 = " p3 * * + %% " p4 = " page.count * * + %% " in " cite$ * * warning$ + + p1 p3 = p2 "1" = and numpages empty.or.unknown and + { "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + p1 "1" = p3 empty.or.unknown and numpages empty.or.unknown and + { + p2 'page.count := + "INFO: reduced pages = [" pages * "] to numpages = [" * page.count * "]" * warning$ + } + { + numpages empty.or.unknown + { pages } + { numpages } + if$ + 'page.count := + } + if$ + + %% "DEBUG: leave reduce.pages.to.page.count " cite$ * warning$ +} + +FUNCTION { new.block.checkb } +{ % issue a new.block only if at least one of top two stack strings is not empty + empty.or.unknown + swap$ empty.or.unknown + and + 'skip$ + 'new.block + if$ +} + +FUNCTION { field.or.null } +{ % convert empty value to null string, else return value + duplicate$ empty.or.unknown + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION { emphasize } +{ % emphasize a non-empty top string on the stack (WITHOUT italic correction) + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION { emphasize.with.italic.correction } +{ % convert empty string to null string, or emphasize with a trailing italic correction + duplicate$ empty.or.unknown + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} + +FUNCTION { comma } +{ % convert empty string to null string, or brace string and add trailing comma + duplicate$ empty.or.unknown + { pop$ "" } + { "{" swap$ * "}," * } + if$ +} + +FUNCTION { format.names } +{ + % Format bibliographical entries with the first author last name first, + % and subsequent authors with initials followed by last name. + % All names are formatted in this routine. + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 = + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + %NO: BAD ORDER: {"{" s nameptr "{ff~}{ll}{, jj}{, vv}" format.name$ * "}" * 't := } + {"{" s nameptr "{ff }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + {"{" s nameptr "{ff }{vv }{ll}{, jj}" format.name$ * "}" * 't := } + if$ + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{\sc others}" = + { " {et~al\mbox{.}}" * } % jrh: avoid spacing problems + { " {and} " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { my.full.label } +{ + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { s nameptr "{vv~}{ll}" format.name$ 't := % get the next name + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * t * } % from Chicago Manual of Style + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ + +} + +FUNCTION { format.names.fml } +{ + % Format names in "familiar" format, with first initial followed by + % last name. Like format.names, ALL names are formatted. + % jtb: The names are NOT put in small caps + + 's := + #1 'nameptr := % nameptr = 1; + s num.names$ 'numnames := % numnames = num.name$(s); + numnames 'namesleft := + { namesleft #0 > } + + { + "{" s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ * "}" * 't := + + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + t "{others}" = + { " {et~al\mbox{.}}" * } + { " {and} " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := % nameptr += 1; + namesleft #1 - 'namesleft := % namesleft =- 1; + } + while$ +} + +FUNCTION { format.authors } +{ + author empty.or.unknown + { "" } + { author format.names add.period$} % jtb: add period if none before + if$ +} + +FUNCTION { format.key } +{ + empty.or.unknown + { key field.or.null } + { "" } + if$ +} + +FUNCTION { format.no.key } +{ + empty.or.unknown + { "" } + { "" } + if$ +} + +FUNCTION { format.editors.fml } +{ + % Format editor names for use in the "in" types: inbook, incollection, + % inproceedings: first initial, then last names. When editors are the + % LABEL for an entry, then format.editor is used which lists editors + % by last name first. + + editor empty.or.unknown + { "" } + { + editor format.names.fml editor num.names$ #1 > + { " (Eds.)" * } + { " (Ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.editors } +{ % format editor names for use in labels, last names first. + editor empty.or.unknown + { "" } + { + editor format.names + editor num.names$ #1 > + { " (Eds.)." * } + { " (Ed.)." * } + if$ + } + if$ +} + +FUNCTION { format.articletitle } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { "\showarticletitle{" title * "}" * } + % Use this for downcase title style: + % { \showarticletitle{" title "t" change.case$ * "}" * } + if$ +} + +FUNCTION { format.title } +{ + title empty.or.unknown + { "" } + % Use this to preserve lettercase in titles: + { title } + % Use this for downcase title style: + % { title "t" change.case$ } + if$ +} + +FUNCTION { n.dashify } +{ + 't := + "" + { t empty.or.unknown not } + { + t #1 #1 substring$ "-" = + { + t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { + { t #1 #1 substring$ "-" = } + { + "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { + t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION { format.btitle } +{ + edition empty.or.unknown + { title emphasize } + { title empty.or.unknown + { title emphasize } % jtb: what is this supposed to do ?!? + { "{\em " title * "\/} (" * edition "l" change.case$ * " ed.)" * } % jtb: no parens for ed. + if$ + } + if$ +} + +FUNCTION { format.emphasize.booktitle } +{ % push "" or "{\em booktitle}" or "{\em booktitle}, (second ed.)" on stack + edition empty.or.unknown + { booktitle emphasize } + { booktitle empty.or.unknown + { "" } + { "{\em " booktitle * "} (" * edition "l" change.case$ * " ed.)" * } + if$ + } + if$ +} + +FUNCTION { format.city } +{ + % jtb: if the preceding string (the title of the conference) is non-empty, + % jtb: append the location, otherwise leave empty (so as to trigger the + % jtb: error message in output.check + + duplicate$ empty.or.unknown + { } + { + city empty.or.unknown + { + date empty.or.unknown + { } + { " (" * date * ")" * } + if$ + } + { + date empty.or.unknown + { " (" * city * ")" * } + { " (" * city * ", " * date * ")" * } + if$ + } + if$ + } + if$ +} + +FUNCTION { tie.or.space.connect } +{ + duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION { either.or.check } +{ + empty.or.unknown + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION { format.bvolume } +{ + % jtb: If there is a series, this is added and the volume trails after it. + % jtb: Otherwise, "Vol" is Capitalized. + + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.bvolume.noseries } +{ + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "Vol." volume tie.or.space.connect} + { "Vol." volume tie.or.space.connect} +% { series ", " * "Vol." volume tie.or.space.connect *} + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION { format.series } +{ + series empty.or.unknown + {""} + {" {\em (" * series ")}" *} + if$ +} + +FUNCTION { format.number.series } +{ + volume empty.or.unknown + { + number empty.or.unknown + { + volume empty.or.unknown + { "" } + { + series empty.or.unknown + { "" } + { " (" series * ")" * } + if$ + } + if$ + } % { series field.or.null } + { + output.state mid.sentence = + { "Number" } % gnp - changed to mixed case always + { "Number" } + if$ + number tie.or.space.connect series empty.or.unknown + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { + "" + } + if$ +} + +FUNCTION { multi.page.check } +{ + 't := + #0 'multiresult := + { multiresult not + t empty.or.unknown not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION { format.pages } +{ + pages empty.or.unknown + { "" } + { + pages multi.page.check + { pages n.dashify } % gnp - removed () % jtb: removed pp. + { pages } + if$ + } + if$ +} + +FUNCTION { format.pages.check.without.articleno } +{ %% format pages field only if articleno is absent + %% Stack out: pages-specification + numpages missing$ pages missing$ and + { "page numbers missing in both pages and numpages fields in " cite$ * warning$ } + { } + if$ + + articleno empty.or.unknown + { + pages missing$ + { numpages } + { format.pages } + if$ + } + { "" } + if$ +} + +FUNCTION { format.pages.check } +{ + pages empty.or.unknown + { "page numbers missing in " cite$ * warning$ "" } + { pages n.dashify } + if$ +} + +FUNCTION { format.bookpages } +{ + bookpages empty.or.unknown + { "" } + { bookpages "book pages" tie.or.space.connect } + if$ +} + +FUNCTION { format.named.pages } +{ + pages empty.or.unknown + { "" } + { format.pages "pages" tie.or.space.connect } + if$ +} + +% +% Changed by Boris Veytsman, 2011-03-13 +% Now the word "pages" is printed even if +% there field pages is not empty. +% + +FUNCTION { format.page.count } +{ + page.count empty.or.unknown + { "" } + { + articleno empty.or.unknown + { "numpages field, but no articleno field, in " cite$ * warning$ } + { } + if$ + page.count "pages" tie.or.space.connect + } + if$ +} + +FUNCTION { format.articleno.numpages } +{ + %% There are seven possible outputs, depending on which fields are set. + %% + %% These four are handled here: + %% + %% articleno, numpages, pages -> "Article articleno-value, numpages-value pages" + %% articleno, numpages -> "Article articleno-value, numpages-value pages" + %% articleno, pages -> "Article articleno-value, reduced-pages-value pages" + %% articleno -> "Article articleno-value" and warn about missing numpages + %% + %% The remaining three have already been handled by + %% format.pages.check.without.articleno: + %% + %% numpages, pages -> "pages-value" + %% numpages -> "numpages-value" + %% pages -> "pages-value" + + articleno empty.or.unknown + { + numpages empty.or.unknown + { } + { "require articleno with numpages field in " cite$ * warning$ } + if$ + "" + } + { + numpages empty.or.unknown + { + pages empty.or.unknown + { + "require pages or numpages fields with articleno field in " cite$ * warning$ + "" 'page.count := + } + { reduce.pages.to.page.count } + if$ + } + { numpages 'page.count := } + if$ + + %% The Article number is now handled in format.day.month.year because + %% ACM prefers the style "Digital Libraries 12, 3, Article 5 (July 2008)" + %% over "Digital Libraries 12, 3 (July 2008), Article 5" + %% format.articleno output + format.page.count + } + if$ +} + +FUNCTION { format.journal.volume.number.day.month.year } +{ + % By Young (and Spencer) + % GNP - fixed bugs with missing volume, number, and/or pages + % + % Format journal, volume, number, pages for article types. + % + journal empty.or.unknown + { "no journal in " cite$ * warning$ + "" } +% { journal emphasize.with.italic.correction } + { + journal "Journal of the ACM" = + { "{\it J. ACM}" } + { + journal "American Mathematical Society Translations" = + { "{\it Amer. Math. Soc. Transl.}" } + { + journal "Bulletin of the American Mathematical Society" = + { "{\it Bull. Amer. Math. Soc.}" } + { + journal "Proceedings of the American Mathematical Society" = + { "{\it Proc. Amer. Math. Soc.}" } + { + journal "Transactions of the American Mathematical Society" = + { "{\it Trans. Amer. Math. Soc.}" } + { + journal "Communications of the {ACM}" = + { "{\it Commun. {ACM}}" } + { + journal "{ACM} Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "{ACM} Transactions on Mathematical Software" = + { "{\it {ACM} Trans. Math. Software}" } + { + journal "{ACM} {SIGNUM} Newsletter" = + { "{\it {ACM} {SIGNUM} Newslett.}" } + { + journal "American Journal of Sociology" = + { "{\it Amer. J. Sociology}" } + { + journal "Journal of the American Statistical Association" = + { "{\it J. Amer. Statist. Assoc.}" } + { + journal "Applied Mathematics and Computation" = + { "{\it Appl. Math. Comput.}" } + { + journal "American Mathematical Monthly" = + { "{\it Amer. Math. Monthly}" } + { + journal "British Journal of Mathematical and Statistical Psychology" = + { "{\it Brit. J. Math. Statist. Psych.}" } + { + journal "Canadian Mathematical Bulletin" = + { "{\it Canad. Math. Bull.}" } + { + journal "Journal of Computational and Applied Mathematics" = + { "{\it J. Comput. Appl. Math.}" } + { + journal "Journal of Computational Physics" = + { "{\it J. Comput. Phys.}" } + { + journal "Computers and Structures" = + { "{\it Comput. \& Structures}" } + { + journal "The Computer Journal" = + { "{\it Comput. J.}" } + { + journal "Journal of Computer and System Sciences" = + { "{\it J. Comput. System Sci.}" } + { + journal "Contemporary Mathematics" = + { "{\it Contemp. Math.}" } + { + journal "Crelle's Journal" = + { "{\it Crelle's J.}" } + { + journal "Giornale di Mathematiche" = + { "{\it Giorn. Mat.}" } + { + journal "{IEEE} Transactions on Computers" = + { "{\it {IEEE} Trans. Comput.}" } + { + journal "{IEEE} Transactions on Automatic Control" = + { "{\it {IEEE} Trans. Automat. Control}" } + { + journal "Proceedings of the {IEEE}" = + { "{\it Proc. {IEEE}}" } + { + journal "{IEEE} Transactions on Aerospace and Electronic Systems" = + { "{\it {IEEE} Trans. Aerospace Electron. Systems}" } + { + journal "{IMA} Journal of Numerical Analysis" = + { "{\it {IMA} J. Numer. Anal.}" } + { + journal "Information Processing Letters" = + { "{\it Inform. Process. Lett.}" } + { + journal "Journal of the Institute of Mathematics and its Applications" = + { "{\it J. Inst. Math. Appl.}" } + { + journal "International Journal of Control" = + { "{\it Internat. J. Control}" } + { + journal "International Journal for Numerical Methods in Engineering" = + { "{\it Internat. J. Numer. Methods Engrg.}" } + { + journal "International Journal of Supercomputing Applications" = + { "{\it Internat. J. Supercomputing Applic.}" } + { + journal "Journal of Research of the National Bureau of Standards" = + { "{\it J. Res. Nat. Bur. Standards}" } + { + journal "Linear Algebra and its Applications" = + { "{\it Linear Algebra Appl.}" } + { + journal "Journal of Mathematical Analysis and Applications" = + { "{\it J. Math. Anal. Appl.}" } + { + journal "Mathematische Annalen" = + { "{\it Math. Ann.}" } + { + journal "Journal of Mathematical Physics" = + { "{\it J. Math. Phys.}" } + { + journal "Mathematics of Computation" = + { "{\it Math. Comp.}" } + { + journal "Mathematica Scandinavica" = + { "{\it Math. Scand.}" } + { + journal "Mathematical Tables and Other Aids to Computation" = + { "{\it Math. Tables Aids Comput.}" } + { + journal "Numerische Mathematik" = + { "{\it Numer. Math.}" } + { + journal "Pacific Journal of Mathematics" = + { "{\it Pacific J. Math.}" } + { + journal "Journal of Parallel and Distributed Computing" = + { "{\it J. Parallel and Distrib. Comput.}" } + { + journal "Parallel Computing" = + { "{\it Parallel Comput.}" } + { + journal "Philosophical Magazine" = + { "{\it Philos. Mag.}" } + { + journal "Proceedings of the National Academy of Sciences of the USA" = + { "{\it Proc. Nat. Acad. Sci. U. S. A.}" } + { + journal "Quarterly Journal of Mathematics, Oxford, Series (2)" = + { "{\it Quart. J. Math. Oxford Ser. (2)}" } + { + journal "Quarterly of Applied Mathematics" = + { "{\it Quart. Appl. Math.}" } + { + journal "Review of the International Statisical Institute" = + { "{\it Rev. Inst. Internat. Statist.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics" = + { "{\it J. Soc. Indust. Appl. Math.}" } + { + journal "Journal of the Society for Industrial and Applied Mathematics, Series B, Numerical Analysis" = + { "{\it J. Soc. Indust. Appl. Math. Ser. B Numer. Anal.}" } + { + journal "{SIAM} Journal on Algebraic and Discrete Methods" = + { "{\it {SIAM} J. Algebraic Discrete Methods}" } + { + journal "{SIAM} Journal on Applied Mathematics" = + { "{\it {SIAM} J. Appl. Math.}" } + { + journal "{SIAM} Journal on Computing" = + { "{\it {SIAM} J. Comput.}" } + { + journal "{SIAM} Journal on Matrix Analysis and Applications" = + { "{\it {SIAM} J. Matrix Anal. Appl.}" } + { + journal "{SIAM} Journal on Numerical Analysis" = + { "{\it {SIAM} J. Numer. Anal.}" } + { + journal "{SIAM} Review" = + { "{\it {SIAM} Rev.}" } + { + journal "{SIAM} Journal on Scientific and Statistical Computing" = + { "{\it {SIAM} J. Sci. Statist. Comput.}" } + { + journal "Software Practice and Experience" = + { "{\it Software Prac. Experience}" } + { + journal "Statistical Science" = + { "{\it Statist. Sci.}" } + { + journal "{USSR} Computational Mathematics and Mathematical Physics" = + { "{\it {U. S. S. R.} Comput. Math. and Math. Phys.}" } + { + journal "Journal of {VLSI} and Computer Systems" = + { "{\it J. {VLSI} Comput. Syst.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Mechanik" = + { "{\it Z. Angew. Math. Mech.}" } + { + journal "Zeitschrift fur Angewandte Mathematik und Physik" = + { "{\it Z. Angew. Math. Phys.}" } + { + journal "ACM Computing Surveys" = + { "{\it Comput. Surveys}" } + { + journal "ACM Transactions on Mathematical Software" = + { "{\it ACM Trans. Math. Software}" } + { + journal "ACM {SIGNUM} Newsletter" = + { "{\it ACM {SIGNUM} Newslett.}" } + { + journal "IEEE Transactions on Computers" = + { "{\it IEEE Trans. Comput.}" } + { + journal "IEEE Transactions on Automatic Control" = + { "{\it IEEE Trans. Automat. Control}" } + { + journal "Proceedings of the IEEE" = + { "{\it Proc. IEEE}" } + { + journal "IEEE Transactions on Aerospace and Electronic Systems" = + { "{\it IEEE Trans. Aerospace Electron. Systems}" } + { + journal "IMA Journal of Numerical Analysis" = + { "{\it IMA J. Numer. Anal.}" } + { + journal "SIAM Journal on Algebraic and Discrete Methods" = + { "{\it SIAM J. Algebraic Discrete Methods}" } + { + journal "SIAM Journal on Applied Mathematics" = + { "{\it SIAM J. Appl. Math.}" } + { + journal "SIAM Journal on Computing" = + { "{\it SIAM J. Comput.}" } + { + journal "SIAM Journal on Matrix Analysis and Applications" = + { "{\it SIAM J. Matrix Anal. Appl.}" } + { + journal "SIAM Journal on Numerical Analysis" = + { "{\it SIAM J. Numer. Anal.}" } + { + journal "SIAM Review" = + { "{\it SIAM Rev.}" } + { + journal "SIAM Journal on Scientific and Statistical Computing" = + { "{\it SIAM J. Sci. Statist. Comput.}" } + { + journal "USSR Computational Mathematics and Mathematical Physics" = + { "{\it U. S. S. R. Comput. Math. and Math. Phys.}" } + { + journal "Journal of VLSI and Computer Systems" = + { "{\it J. VLSI Comput. Syst.}" } + { + journal "Communications of the ACM" = + { "{\it Commun. ACM}" } + %% If no match with cases needing special handling, just output journal name + { journal emphasize.with.italic.correction } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + + number empty.or.unknown + { + volume empty.or.unknown + { "no number and no volume in " cite$ * warning$ "" * } + { " " * " {" * volume * "}" * } + if$ + } + { + volume empty.or.unknown + { + "unusual to have number, but no volume, for " cite$ * warning$ + " " * number * + } + { " " * volume comma " " * number * * } + if$ + } + if$ + + format.day.month.year * +} + +FUNCTION { format.chapter.pages } +{ + chapter empty.or.unknown + 'format.pages + { type empty.or.unknown + { "Chapter" } % gnp - changed to mixed case + { type "t" change.case$ } + if$ + chapter tie.or.space.connect + pages empty.or.unknown + {"page numbers missing in " cite$ * warning$} % gnp - added check + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION { format.in.emphasize.booktitle } +{ % jtb: format for collections or proceedings not appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " format.emphasize.booktitle * } + if$ +} + +FUNCTION { format.in.booktitle } +{ % jtb: format for proceedings appearing in a journal + booktitle empty.or.unknown + { "" } + { "In " booktitle * } + if$ +} + +FUNCTION { format.in.ed.booktitle } +{ + booktitle empty.or.unknown + { "" } + { editor empty.or.unknown + { "In " format.emphasize.booktitle * } + % jtb: swapped editor location + { "In " format.emphasize.booktitle * ", " * format.editors.fml * } + if$ + } + if$ +} + +FUNCTION { format.thesis.type } +{ % call with default type on stack top + type empty.or.unknown + 'skip$ % use default type + { + pop$ % discard default type + % NO: it is silly to have to brace protect every degree type!: type "t" change.case$ + type + } + if$ +} + +FUNCTION { format.tr.number } +{ + type empty.or.unknown + { "Tech. Rep." } + 'type + if$ + number empty.or.unknown + { "t" change.case$ } + %% LOOKS BAD: { "." * number tie.or.space.connect } + %% Prefer "Research report RJ687." to "Research report. RJ687." + { number tie.or.space.connect } + if$ +} + +FUNCTION { format.advisor } +{ + advisor empty.or.unknown + { "" } + { "Advisor(s) " advisor * } + if$ +} + +FUNCTION { format.article.crossref } +{ "See" + "\cite{" * crossref * "}" * +} + +FUNCTION { format.crossref.editor } +{ + editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al\mbox{.}" * } % jrh: avoid spacing problems + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION { format.book.crossref } +{ + volume empty.or.unknown + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect % gnp - changed to mixed case + " of " * + } + if$ + editor empty.or.unknown + editor field.or.null author field.or.null = + or + { key empty.or.unknown + { series empty.or.unknown + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION { format.incoll.inproc.crossref } +{ "See" + " \cite{" * crossref * "}" * +} + +FUNCTION { format.lab.names } +{ + % format.lab.names: + % + % determines "short" names for the abbreviated author information. + % "Long" labels are created in calc.label, using the routine my.full.label + % to format author and editor fields. + % + % There are 4 cases for labels. (n=3 in the example) + % a) one author Foo + % b) one to n Foo, Bar and Baz + % c) use of "and others" Foo, Bar et al. + % d) more than n Foo et al. + + 's := + s num.names$ 'numnames := + numnames #2 > % change number to number of others allowed before + % forcing "et al". + { s #1 "{vv~}{ll}" format.name$ " et~al\mbox{.}" * } % jrh: \mbox{} added + { + numnames #1 - 'namesleft := + #2 'nameptr := + s #1 "{vv~}{ll}" format.name$ + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } % jrh: avoid spacing problems + { " and " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + } + { ", " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } + if$ +} + +FUNCTION { author.key.label } +{ + author empty.or.unknown + { key empty.or.unknown + { "no key, author in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { author.key.organization.label } +{ % added - gnp. Provide label formatting by organization if author is null. + author empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, author or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { editor.key.organization.label } +{ % added - gnp. Provide label formatting by organization if editor is null. + editor empty.or.unknown + { organization empty.or.unknown + { key empty.or.unknown + { "no key, editor or organization in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { organization } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION { author.editor.key.label } +{ + author empty.or.unknown + { editor empty.or.unknown + { key empty.or.unknown + { "no key, author, or editor in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION { calc.label } +{ + % Changed - GNP. See also author.organization.sort, editor.organization.sort + % Form label for BibTeX entry. The classification of which fields are used + % for which type of entry (book, inbook, etc.) are taken from alpha.bst. + % The change here from newapa is to also include organization as a + % citation label if author or editor is missing. + + type$ "book" = + type$ "inbook" = + or + type$ "periodical" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + + author empty.or.unknown % generate the full label citation information. + { + editor empty.or.unknown + { + organization empty.or.unknown + { + key empty.or.unknown + { + "no author, editor, organization, or key in " cite$ * warning$ + "??" + } + { key } + if$ + } + { organization } + if$ + } + { editor my.full.label } + if$ + } + { author my.full.label } + if$ + + % leave label on the stack, to be popped when required. + + "}{" * swap$ * "}{" * + % year field.or.null purify$ #-1 #4 substring$ * + % + % save the year for sort processing afterwards (adding a, b, c, etc.) + % + year field.or.null purify$ #-1 #4 substring$ + 'label.year := +} + +FUNCTION { output.bibitem } +{ + newline$ + %% acmtrans.bst alphanumeric style: + %%: "\bibitem[\protect\citeauthoryear{" write$ + %%: calc.label write$ + %%: sort.year write$ + %%: "}]%" writeln + %%: " {" write$ + %%: cite$ write$ + %%: "}" writeln + %% acm-plain.bst numeric style: + newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url } +{ % enter and return with stack empty + %% We switch now from buffered output to output of complete lines, so + %% that the Issue .. URL data have their own lines, and are less likely + %% to be line-wrapped by BibTeX's short-sighted algorithm, which wraps + %% lines longer than 79 characters, backtracking to what it thinks is + %% a break point in the string. Any such wrapping MUST be undone to + %% prevent percent-newline from appearing in DOIs and URLs. The + %% output data are intentionally wrapped in \showxxx{} macros at + %% beginning of line, and that supply their own punctuation (if they + %% are not defined to suppress output entirely), to make it easier for + %% other software to recover them from .bbl files. + %% + %% It also makes it possible to later change the macro definitions + %% to suppress particular output values, or alter their appearance. + %% + %% Note that it is possible for theses, technical reports, and + %% manuals to have ISBNs, and anything that has an ISBN may also + %% have an ISSN. When there are no values for these keys, there + %% is no output generated for them here. + + "\newblock" writeln + after.block 'output.state := + + output.issue + output.isbn + output.coden % CODEN is functionally like ISSN, so output them sequentially + output.issn + output.lccn + output.doi % DOI is ALWAYS last according to CrossRef DOI documentation + output.url % but ACM wants URL last +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note + } + if$ + "" +} + +FUNCTION { output.issue.doi.coden.isxn.lccn.url.note.check } +{ % enter with stack empty, return with empty string on stack + output.issue.doi.coden.isxn.lccn.url + note empty.or.unknown + { } + { + "\newblock" writeln + output.note.check + } + if$ + "" +} + +FUNCTION { article } +{ + output.bibitem + + author empty.or.unknown + { + editor empty.or.unknown + { "neither author and editor supplied for " cite$ * warning$ } + { format.editors "editor" output.check } + if$ + } + { format.authors "author" output.check } + if$ + + author format.no.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + howpublished output + + crossref missing$ + { format.journal.volume.number.day.month.year } + { + "cross reference in @Article{...} is unusual" warning$ + format.article.crossref output.nonnull + } + if$ + output + + format.pages.check.without.articleno output + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { book } +{ + output.bibitem + author empty.or.unknown + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + fin.sentence + pages empty.or.unknown + { format.bookpages } % use bookpages when pages empty + { format.pages.check "pages" tie.or.space.connect } + if$ + output + } + { new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { booklet } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + new.block + howpublished output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inbook } +{ + output.bibitem + author empty.or.unknown + { format.editors + "author and editor" output.check + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + crossref missing$ + { new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages + "chapter and pages" output.check % jtb: moved from before publisher + } + { + format.bookpages output + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { incollection } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence % jtb: start a new sentence for series/volume + format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address "address" output.check % jtb: require address + format.bookpages output + format.chapter.pages output % gnp - was special.output.nonnull + % left out comma before page numbers + % jtb: moved from before publisher + } + { + format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { inproceedings } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.articletitle "title" output.check + howpublished output.dot.space + crossref missing$ + { + journal missing$ % jtb: proceedings appearing in journals + { format.in.emphasize.booktitle format.city "booktitle" output.check.dot.space + format.series output.removenospace + format.editors.fml output.dot.space + format.bvolume.noseries output + new.sentence + organization output + publisher "publisher" output.check % jtb: require publisher (?) + address "address" output.check % jtb: require address + format.bookpages output + } + { + format.in.booktitle format.city "booktitle" output.check + format.editors.fml output + new.sentence + format.journal.volume.number.day.month.year output + } + if$ + format.articleno output + format.pages.check.without.articleno output + } + { + format.incoll.inproc.crossref output.nonnull + format.articleno output + format.pages.check.without.articleno output + } + if$ + format.articleno.numpages output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { conference } { inproceedings } + +FUNCTION { manual } +{ + output.bibitem + author empty.or.unknown + { editor empty.or.unknown + { organization "organization" output.check + organization format.key output } % if all else fails, use key + { format.editors "author and editor" output.check } + if$ + } + { format.authors output.nonnull } + if$ + output.year.check % added + new.block + format.btitle "title" output.check + organization address new.block.checkb + % jtb: back to normal style: organization, address + organization "organization" output.check + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { mastersthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "M.S.\ thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { misc } +{ + output.bibitem + format.authors output + author format.key output % added + output.year.check % added + title howpublished new.block.checkb + format.title output + new.block + howpublished output + "" output.nonnull.dot.space + output.day.month.year + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { phdthesis } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title emphasize "title" output.check % NB: ACM style requires emphasized thesis title + new.block + "Ph.D. thesis" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + format.advisor output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION {format.date} +{ year empty.or.unknown + { month empty.or.unknown + { + "" % output empty date if year/month both empty + day empty.or.unknown + { } + { "there's a day but no month or year in " cite$ * warning$ } + if$ + } + { "there's a month but no year in " cite$ * warning$ + month + day empty.or.unknown + { } + { " " * day * } + if$ + } + if$ + } + { month empty.or.unknown + { + year % output only year if month empty + day empty.or.unknown + { } + { "there's a day and year but no month in " cite$ * warning$ } + if$ + } + { + month " " * + day empty.or.unknown + { } + { day * ", " * } + if$ + year * + } + if$ + } + if$ +} + +FUNCTION {new.block.checka} +{ + empty.or.unknown + 'skip$ + 'new.block + if$ +} + +FUNCTION { periodical } +{ + output.bibitem + editor empty.or.unknown + { organization output } + { format.editors output.nonnull } + if$ + new.block + title emphasize "title" output.check + format.date output + new.sentence + publisher output + address output + howpublished new.block.checka + howpublished output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { proceedings } +{ + output.bibitem + editor empty.or.unknown + { organization output + organization format.key output } % gnp - changed from author format.key + { format.editors output.nonnull } + if$ + % author format.key output % gnp - removed (should be either + % editor or organization + output.year.check % added (newapa) + new.block + format.btitle format.city "title" output.check % jtb: added city + new.sentence + format.bvolume output + format.number.series output + new.sentence + organization output + % jtb: normal order: publisher, address + publisher output + address output + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { techreport } +{ + output.bibitem + format.authors "author" output.check + author format.key output % added + output.year.check % added + new.block + format.btitle "title" output.check + new.block + format.tr.number output % jtb: moved month ... + institution "institution" output.check + address output + new.sentence + format.named.pages output + % ACM omits year at end in transactions style + % format.day.month.year output.nonnull.dot.space % jtb: ... to here (no parens) + fin.block + output.issue.doi.coden.isxn.lccn.url.note + fin.entry +} + +FUNCTION { unpublished } +{ + output.bibitem + format.authors + "author" output.check + author format.key output % added + output.year.check % added + new.block + format.title "title" output.check + fin.sentence + output.day.month.year % UTAH + fin.block + output.issue.doi.coden.isxn.lccn.url.note.check + fin.entry +} + +FUNCTION { default.type } { misc } + +%%% ACM journal-style month definitions: full name if 1--5 letters, else +%%% abbreviation of 3 or 4 characters and a dot + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + + +%%% ==================================================================== +%%% I M P O R T A N T C H A N G E +%%% +%%% For the 2009 release of the official acm-*.bst files, there are to +%%% be NO predefined journal abbreviations in those style files. +%%% +%%% ACM may later develop an official list of mappings of full journal +%%% names of commonly-cited journals to ACM-preferred abbreviations, but +%%% authors should consider that use of any of these commented-out +%%% abbreviations is DEPRECATED unless the BibTeX file itself provides +%%% its own @String{name = "value"} definitions. +%%% +%%% Use of journal (and publisher and address) @String{...} +%%% abbreviations, as opposed to explicit value assignments such as +%%% journal = "J. ACM" and publisher = "IEEE", is preferred in +%%% bibliographic databases, because it makes it easier for journal +%%% production staff to replace those definitions by publisher-preferred +%%% abbreviations when articles are typeset for publication. +%%% +%%% For historical reasons, and because some of these abbreviations are +%%% used in other (non-ACM) bibliography style files, they are preserved +%%% here in comments. Future releases of the acm*-.bst files are likely +%%% to remove them entirely. +%%% ==================================================================== +%%% +%%% DEPRECATED: MACRO {acmcs} {"ACM Comput. Surv."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acmlett} {"ACM Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acta} {"Acta Inf."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ai} {"Artificial Intelligence"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {al} {"Ada Lett."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {acr} {"Adv. Comput. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {bit} {"Bit"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cacm} {"Commun. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cj} {"Comput. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cn} {"Comput. Netw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {cl} {"Comput. Lang."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmjrd} {"IBM J. Res. and Development"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ibmsj} {"IBM Systems Journal"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ict} {"Inf. Contr."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieebcs} {"IEE/BCS Softw. Eng. J."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieees} {"IEEE Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeese} {"IEEE Trans. Softw. Eng."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetc} {"IEEE Trans. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetpds} {"IEEE Trans. Parall. Distrib. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ieeetit} {"IEEE Trans. Inf. Theory"} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ipl} {"Inf. Process. Lett."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {icp} {"Inf. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ist} {"Inf. Softw. Tech."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijsa} {"Int. J. Supercomput. Appl."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ijpp} {"Int. J. Parallel Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jacm} {"J. ACM"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: % MACRO {jcss} {"Journal of Computer and System Sciences"} % original BibTeX +%%% DEPRECATED: MACRO {jcss} {"J. Comput. Syst. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlp} {"J. Logic Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jfp} {"J. Funct. Program."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jsmrp} {"J. Softw. Maint. Res. Pract."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jss} {"J. Syst. Softw."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlc} {"J. Logic and Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {jlsc} {"J. Lisp Symb. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {lpls} {"Lett. Program. Lang. Syst."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mor} {"Math. Oper. Res."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mscs} {"Math. Struct. Comput. Sci."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {mst} {"Math. Syst. Theor."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {ngc} {"New Gen. Comput."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {scp} {"Sci. Comput. Program."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {sicomp} {"SIAM J. Comput."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {spe} {"Softw. Pract. Exper."} +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tocs} {"ACM Trans. Comput. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tods} {"ACM Trans. Database Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tog} {"ACM Trans. Graphics"} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toms} {"ACM Trans. Math. Softw."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toois} {"ACM Trans. Office Inf. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {toplas} {"ACM Trans. Program. Lang. Syst."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tcs} {"Theor. Comput. Sci."} % original BibTeX +%%% DEPRECATED: +%%% DEPRECATED: MACRO {tr} {"Tech. Rep."} +%%% ==================================================================== + +READ + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION { initialize.extra.label.stuff } +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +EXECUTE {initialize.extra.label.stuff} + +FUNCTION { begin.bib } +{ + %% Set to #0 show 13-digit ISBN in preference to 10-digit ISBN. + %% Set to #1 to show both 10-digit and 13-digit ISBNs. + #1 'show-isbn-10-and-13 := + + "%%% -*-BibTeX-*-" writeln + "%%% Do NOT edit. File created by BibTeX with style acmtrans-v2 [15-Nov-2008]." writeln + "" writeln + + preamble$ empty.or.unknown + 'skip$ + { preamble$ writeln } + if$ + "\begin{thebibliography}{" longest.label * "}" * writeln + "" writeln + "%%% ====================================================================" writeln + "%%% NOTE TO THE USER: you can override these defaults by providing" writeln + "%%% customized versions of any of these macros before the \bibliography" writeln + "%%% command. Each of them MUST provide its own final punctuation," writeln + "%%% except for \shownote{}, \showDOI{}, and \showURL{}. The latter two" writeln + "%%% do not use final punctuation, in order to avoid confusing it with" writeln + "%%% the Web address." writeln + "%%%" writeln + "%%% To suppress output of a particular field, define its macro to expand" writeln + "%%% to an empty string, or better, \unskip, like this:" writeln + "%%%" writeln + "%%% \newcommand{\showDOI}[1]{\unskip} % LaTeX syntax" writeln + "%%%" writeln + "%%% \def \showDOI #1{\unskip} % plain TeX syntax" writeln + "%%%" writeln + "%%% ====================================================================" writeln + "" writeln + + %% ACM publications do not use CODEN, ISSN, and LCCN data, so their default + %% macro wrappers expand to \unskip, discarding their values and unwanted + %% space. + %% + %% For other publications, prior definitions like these may be useful: + %% + %% Plain TeX: + %% \def \showCODEN #1{CODEN #1.} + %% \def \showISSN #1{ISSN #1.} + %% \def \showLCCN #1{LCCN #1.} + %% + %% LaTeX: + %% \newcommand{\showCODEN}[1]{CODEN #1.} + %% \newcommand{\showISSN}[1]#1{ISSN #1.} + %% \newcommand{\showLCCN}[1]{LCCN #1.} + + "\ifx \showCODEN \undefined \def \showCODEN #1{\unskip} \fi" writeln + "\ifx \showDOI \undefined \def \showDOI #1{{\tt DOI:}\penalty0{#1}\ } \fi" writeln + % ACM styles omit ISBNs, but they can be included by suitable definitions of + % \showISBNx and \showISBNxiii before the .bbl file is read + "\ifx \showISBNx \undefined \def \showISBNx #1{\unskip} \fi" writeln + "\ifx \showISBNxiii \undefined \def \showISBNxiii #1{\unskip} \fi" writeln + "\ifx \showISSN \undefined \def \showISSN #1{\unskip} \fi" writeln + "\ifx \showLCCN \undefined \def \showLCCN #1{\unskip} \fi" writeln + "\ifx \shownote \undefined \def \shownote #1{#1} \fi" writeln % NB: final period supplied by add.period$ above + "\ifx \showarticletitle \undefined \def \showarticletitle #1{#1} \fi" writeln + "\ifx \showURL \undefined \def \showURL #1{#1} \fi" writeln +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION { end.bib } +{ + newline$ + "\end{thebibliography}" + writeln +} + +EXECUTE {end.bib} diff --git a/Master/texmf-dist/bibtex/bst/acmart/acmsiggraph.bst b/Master/texmf-dist/bibtex/bst/acmart/acmsiggraph.bst new file mode 100644 index 00000000000..be38c028f28 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/acmart/acmsiggraph.bst @@ -0,0 +1,1384 @@ +% 'acmsiggraph.bst' +% ACM SIGGRAPH bibliography style +% * based on "ACM Transactions bibliography style (24-Jan-88 version)" +% A lot like abbrv.bst, but names come out "Last, initials", and in \sc. +% Some dates are parenthesized. +% * the citation format -- [Jones 2001] -- is pulled from 'alpha.bst' +% +% Version History +% * 07 Sept 2001: original version - Stephen Spencer (spencer@acm.org) +% * 22 Dec 2003: tweaked file for entry w/out year, removed "n. d." +% * 28 Apr 2016: added doi +% +% +ENTRY + { address + author + booktitle + chapter + doi + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label} + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "]{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +FUNCTION {emphasizeic} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "\/}" * } + if$ +} + +FUNCTION {scapify} +{ duplicate$ empty$ + { pop$ "" } + { "{\sc " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { t "others" = + { ", et~al." * } + { ", and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +% For names inside entries (e.g., editors of an "In ..."); +% this is exactly ABBRV.BST's `format.names' function. +FUNCTION {format.innames} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names scapify } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names scapify + editor num.names$ #1 > + { ", Eds." * } + { ", Ed." * } + if$ + } + if$ +} + +FUNCTION {format.publisher.address} +{ address empty$ + { publisher empty$ + 'skip$ + { publisher "publisher" output.check + } + if$ + } + { publisher empty$ + 'skip$ + { publisher "publisher" output.check + address "address" output.check + } + if$ + } + if$ +} + +FUNCTION {format.ineditors} +{ editor empty$ + { "" } + { editor format.innames + editor num.names$ #1 > + { ", Eds." * } + { ", Ed." * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { new.block "\doi{" doi * "}" * } + if$ +} + + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.year} +{ year empty$ + { "" } + { year } + if$ +} + +FUNCTION {format.month} +{ month empty$ + { "" } + { month } + if$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + 'year + { month " " * year * } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "vol.~" volume * + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "no.~" } + { "No.~" } + if$ + number * + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ "~ed." * } + { edition "t" change.case$ "~ed." * } + if$ + } + if$ +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages n.dashify } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pp.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp.~" pages n.dashify * } + { "p.~" pages * } + if$ + } + if$ +} + +FUNCTION {format.journal.vol.num.date} +{ journal empty$ + { "empty journal in " cite$ * warning$ + "" + } + { journal + volume empty$ + 'skip$ + { " " * volume * } + if$ + number empty$ + 'emphasizeic + { emphasize ", " * number * } + if$ + month empty$ + 'skip$ + { " (" * format.month * ")" * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "ch.~" chapter * } + { type "l" change.case$ chapter tie.or.space.connect } + if$ + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { "In " booktitle emphasize * + editor empty$ + 'skip$ + { ", " * format.ineditors * } + if$ + } + if$ +} + +FUNCTION {format.in.proc.date} +{ booktitle empty$ + { "" } + { "In " booktitle emphasize * } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Tech. Rep." } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "In {\em " journal * "\/}" * } + if$ + } + { "In " key * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Vol.~" volume * + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "In {\em " booktitle * "\/}" * } + if$ + } + { "In " key * } + if$ + } + { "In " format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + new.block + format.year output + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.journal.vol.num.date output + format.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.year "year" output.check + new.block + format.btitle "title" output.check + format.edition output + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.month output + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.block + format.year output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.month output + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.year "year" output.check + new.block + format.btitle "title" output.check + format.edition output + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.month output + format.chapter.pages "chapter and pages" output.check + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.year "year" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.edition output + format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address output + format.month output + } + { format.incoll.inproc.crossref output.nonnull } + if$ + format.chapter.pages output + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.year "year" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.proc.date "booktitle" output.check + address empty$ + { publisher empty$ + 'skip$ + { publisher "publisher" output.check + } + if$ + } + { publisher empty$ + 'skip$ + { publisher "publisher" output.check + address "address" output.check + } + if$ + } + if$ + format.ineditors output + format.bvolume output + format.number.series output + organization "organization" output.check + } + { format.incoll.inproc.crossref output.nonnull } + if$ + format.pages output + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization scapify output } + { format.authors output.nonnull } + if$ + new.block + format.year output + new.block + format.btitle "title" output.check + format.edition output + author empty$ + { address new.block.checka } + { organization address new.block.checkb + organization output + } + if$ + address output + format.month output + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.year "year" output.check + new.block + format.btitle "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + format.year output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.month output + format.doi output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.year "year" output.check + new.block + format.btitle "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization scapify output } + { format.editors output.nonnull } + if$ + new.block + format.year output + new.block + title "title" output.check + format.bvolume output + format.number.series output + editor empty$ + 'skip$ + { organization output } + if$ + address empty$ + { publisher empty$ + 'skip$ + { publisher "publisher" output.check + } + if$ + } + { publisher empty$ + 'skip$ + { publisher "publisher" output.check + address "address" output.check + } + if$ + } + if$ + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.year "year" output.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.month output + format.doi output + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.block + format.year output + new.block + format.title "title" output.check + new.block + note "note" output.check + format.month output + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Softw. Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput.-Aided Design Integrated Circuits"} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Programming"} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Gr."} + +MACRO {toms} {"ACM Trans. Math. Softw."} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Program. Lang. Syst."} + +MACRO {tcs} {"Theoretical Comput. Sci."} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +INTEGERS { et.al.char.used } + +FUNCTION {initialize.et.al.char.used} +{ #0 'et.al.char.used := +} + +EXECUTE {initialize.et.al.char.used} + +FUNCTION {format.lab.names} +{ + 's := + s num.names$ 'numnames := + numnames #2 > % change number to number of others allowed before + % forcing "et al". + { s #1 "{vv~}{ll}" format.name$ " et~al\mbox{.}" * } + { + numnames #1 - 'namesleft := + #2 'nameptr := + s #1 "{vv~}{ll}" format.name$ + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al\mbox{.}" * } + { " and " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + } + { ", " * s nameptr "{vv~}{ll}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } + if$ +} + + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + { key #3 text.prefix$ } + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key #3 text.prefix$ } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + + duplicate$ + year empty$ + { + "\protect\citename{" swap$ * " }" * + "" * 'label := + } + { + "\protect\citename{" swap$ * " }" * + year + * + 'label := + } + if$ + + year field.or.null * + sortify 'sort.label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + sort.label + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + * + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label last.sort.label next.extra } + +INTEGERS { longest.label.width last.extra.num } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.sort.label sort.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + sort.label 'last.sort.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.longest.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {begin.bib} +{ et.al.char.used + { "\providecommand{\etalchar}[1]{$^{#1}$}" write$ newline$ } + 'skip$ + if$ + preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\expandafter\ifx\csname urlstyle\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi: #1}\else" + write$ newline$ + " \expandafter\ifx\csname href\endcsname\relax" + write$ newline$ + " \providecommand{\doi}[1]{doi: \url{#1}}\else" + write$ newline$ + " \providecommand{\doi}[1]{doi: \href{http://dx.doi.org/#1}{\nolinkurl{#1}}}\fi\fi" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + diff --git a/Master/texmf-dist/doc/latex/acmart/Makefile b/Master/texmf-dist/doc/latex/acmart/Makefile new file mode 100644 index 00000000000..a73c07e30e6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/Makefile @@ -0,0 +1,80 @@ +# +# Makefile for acmart package +# +# This file is in public domain +# +# $Id: Makefile,v 1.10 2016/04/14 21:55:57 boris Exp $ +# + +PACKAGE=acmart + +SAMPLES = \ + sample-manuscript.tex \ + sample-acmsmall.tex \ + sample-acmlarge.tex \ + sample-acmtog.tex \ + sample-sigconf.tex \ + sample-siggraph.tex \ + sample-sigplan.tex \ + sample-sigchi.tex \ + sample-sigchi-a.tex + + +PDF = $(PACKAGE).pdf ${SAMPLES:%.tex=%.pdf} + +all: ${PDF} + + +%.pdf: %.dtx $(PACKAGE).cls + pdflatex $< + - bibtex $* + pdflatex $< + - makeindex -s gind.ist -o $*.ind $*.idx + - makeindex -s gglo.ist -o $*.gls $*.glo + pdflatex $< + while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \ + do pdflatex $<; done + + +%.cls: %.ins %.dtx + pdflatex $< + +%.pdf: %.tex $(PACKAGE).cls + pdflatex $< + - bibtex $* + pdflatex $< + while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \ + do pdflatex $<; done + +sample-manuscript.pdf \ +sample-acmsmall.pdf \ +sample-acmlarge.pdf \ +sample-acmtog.pdf: samplebody-journals.tex + +sample-sigconf.pdf \ +sample-siggraph.pdf \ +sample-sigplan.pdf \ +sample-sigchi.pdf: samplebody-conf.tex + + +.PRECIOUS: $(PACKAGE).cfg $(PACKAGE).cls + + +clean: + $(RM) $(PACKAGE).cls *.log *.aux \ + *.cfg *.glo *.idx *.toc \ + *.ilg *.ind *.out *.lof \ + *.lot *.bbl *.blg *.gls *.cut *.hd \ + *.dvi *.ps *.thm *.tgz *.zip *.rpi + +distclean: clean + $(RM) $(PDF) *-converted-to.pdf + +# +# Archive for the distribution. Includes typeset documentation +# +archive: all clean + tar -C .. -czvf $(PACKAGE).tgz --exclude '*~' --exclude '*.tgz' --exclude '*.zip' --exclude CVS --exclude '.git*' $(PACKAGE) + +zip: all clean + zip -r $(PACKAGE).zip * -x '*~' -x '*.tgz' -x '*.zip' -x CVS -x 'CVS/*'
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/acmart/README b/Master/texmf-dist/doc/latex/acmart/README new file mode 100644 index 00000000000..5d4477a9af0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/README @@ -0,0 +1,2 @@ +This package provides a class for typesetting publications of +Association for Computing Machinery. diff --git a/Master/texmf-dist/doc/latex/acmart/acmart.bib b/Master/texmf-dist/doc/latex/acmart/acmart.bib new file mode 100644 index 00000000000..06f4ce82760 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/acmart.bib @@ -0,0 +1,65 @@ +@misc{TeXFAQ, + author = {{UK \TeX{} Users Group}}, + howpublished = {\url{http://www.tex.ac.uk}}, + title = {{UK} List of {\TeX} Frequently Asked Questions}, + year = {2016}, +} + +@Manual{Downes04:amsart, + title = {The \textsf{amsart}, \textsf{amsproc}, and + \textsf{amsbook} document~classes}, + author = {Michael Downes and Barbara Beeton}, + organization = {American Mathematical Society}, + year = 2004, + month = {August}, + note = {\url{http://www.ctan.org/pkg/amslatex}} +} + +@Manual{instr-l, + title = {Instructions for Preparation of Papers and + Monographs, {AMS\LaTeX}}, + organization = {American Mathematical Society}, + month = {August}, + year = 2004, + note = {\url{http://www.ctan.org/pkg/amslatex}} +} + +@Manual{Fiorio15, + title = {{a}lgorithm2e.sty---package for algorithms}, + author = {Cristophe Fiorio}, + month = {October}, + year = 2015, + annote = {\url{http://www.ctan.org/pkg/algorithm2e}} +} + +@Manual{Brito09, + title = {The algorithms bundle}, + author = {Rog\'erio Brito}, + month = {August}, + year = 2009, + annote = {\url{http://www.ctan.org/pkg/algorithms}} +} + + +@Manual{Heinz15, + title = {The Listings Package}, + author = {Carsten Heinz and Brooks Moses and Jobst Hoffmann}, + month = {June}, + year = 2015, + note = {\url{http://www.ctan.org/pkg/listings}} +} + +@Manual{Fear05, + title = {Publication quality tables in {\LaTeX}}, + author = {Simon Fear}, + month = {April}, + year = 2005, + note = {\url{http://www.ctan.org/pkg/booktabs}} +} + +@Manual{ACMIdentityStandards, + title = {{ACM} Visual Identity Standards}, + organization = {Association for Computing Machinery}, + year = 2007 +} + diff --git a/Master/texmf-dist/doc/latex/acmart/acmart.pdf b/Master/texmf-dist/doc/latex/acmart/acmart.pdf Binary files differnew file mode 100644 index 00000000000..5e452332c3d --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/acmart.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/ae-logo.pdf b/Master/texmf-dist/doc/latex/acmart/ae-logo.pdf Binary files differnew file mode 100644 index 00000000000..704f7b1bf28 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/ae-logo.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/cats.png b/Master/texmf-dist/doc/latex/acmart/cats.png Binary files differnew file mode 100644 index 00000000000..4e235ae1471 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/cats.png diff --git a/Master/texmf-dist/doc/latex/acmart/flies-eps-converted-to.pdf b/Master/texmf-dist/doc/latex/acmart/flies-eps-converted-to.pdf Binary files differnew file mode 100644 index 00000000000..dab14238d1d --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/flies-eps-converted-to.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/flies.eps b/Master/texmf-dist/doc/latex/acmart/flies.eps new file mode 100644 index 00000000000..29e33dbafa1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/flies.eps @@ -0,0 +1,8871 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Adobe Illustrator(R) 8.0 +%%AI8_CreatorVersion: 8.0.1 +%%For: (Mark W Richards) (Association for Computing Machinery) +%%Title: (newflies.eps) +%%CreationDate: (2/9/00) (11:16 AM) +%%BoundingBox: 153 339 459 453 +%%HiResBoundingBox: 153 339.2998 459 452.6997 +%%DocumentProcessColors: Black +%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0 +%%+ procset Adobe_ColorImage_AI6 1.3 0 +%%+ procset Adobe_Illustrator_AI5 1.3 0 +%%+ procset Adobe_cshow 2.0 8 +%%+ procset Adobe_shading_AI8 1.0 0 +%AI5_FileFormat 4.0 +%AI3_ColorUsage: Black&White +%AI3_IncludePlacedImages +%AI7_ImageSettings: 1 +%%CMYKProcessColor: 1 1 1 1 ([Registration]) +%%AI6_ColorSeparationSet: 1 1 (AI6 Default Color Separation Set) +%%+ Options: 1 16 0 1 0 1 1 1 0 1 1 1 1 18 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 2 3 4 +%%+ 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: 306.5 395.5 306.5 395.5 +%AI3_TileBox: 13 13 599 779 +%AI3_DocumentPreview: Header +%AI5_ArtSize: 612 792 +%AI5_RulerUnits: 0 +%AI5_ArtFlags: 1 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI8_OpenToView: 83 583 2 1016 675 18 0 1 8 65 0 0 +%AI5_OpenViewLayers: 7 +%%PageOrigin:13 13 +%%AI3_PaperRect:-13 779 599 -13 +%%AI3_Margin:13 -13 -13 13 +%AI7_GridSettings: 7.2 8 7.2 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 +%AI7_Thumbnail: 128 48 8 +%%BeginBinary +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FDFCFFFD2BFF5227527D52FD7BFFF85227FF7D527D52FD78FFF852 +%52FD04FF7D52A8FD76FF7D527DFFA827FFFFFF7DF8FD3AFF7DF87DFD1DFF +%7D52FD1AFF7D527D52FFA8FF52A8277D7DFD38FFF8527DFD0AFF527D52FD +%11FFA852FD06FF27F8A8FD10FF277D7DFFFFFF527D52F87DFF52FD29FF7D +%FD0427F8FD07FF7D277D277DFD06FF5227277D527DFD12FFF8FD05FFA8F8 +%FD12FFA85252FD04FF527DFFFF27FF27FD28FF52277DA87DA87D527DFD04 +%FF27525252F8FD05FF277D527D275227FD12FF52FD05FFF8A8FD13FF27FF +%7D7DA8FF7D52FF52FF7DFF52FD27FF27A8527D7DA8FF7DFFA827FFFF2752 +%7D527D7DFF7DA8FF277DFFFF7D52F8FD13FFF8FD04FFF8FD16FFA8A8277D +%277DFFA8A87D527D52FD0AFFA8FD1CFF522752FFA8A87DFFA8FF7DF8277D +%525227F827FFA87D7DFF52FFFFFF27FD13FF27F8FFFFF87DFD15FF52FF52 +%7D7DA8FFFF7DA852275227FD0AFFF8FD1CFF27FF7DFF7DFF7D52A87D7D27 +%27277D522752FF52A8FFFD047DFF527DFD14FFA8F8F852FD17FFA8A827FF +%527D52A8275227F85252FD07FF52F8A8FD1CFFA87DFF7D52A8A8FFFFA852 +%52F87D527D277D52FF52FF527D527DFF7DFD14FFA8FD04F827FD16FFFD04 +%27F8F8FD04277D272727F8FD04FFF827FD20FF52FF52A852FFFFA8FFA8F8 +%27527D7D7D27FFFFA8FFA87D7DFFFF52FD15FFFD04F87DFD13FFA8272752 +%52277D277D5227525227F827FD04F87DF8A8FD22FF52A87D5252A852A8A8 +%F8525252277D52A8A8527DFFA852FF52A8FD14FF27277D527D2727FD11FF +%F827277D27527D527D27F8527D522752FF7D27F8F8F87DFD19FF7D277DFD +%07FFA87D7DFF7D277D7DA82727527D277DF87D7D7D527D27277D27FD14FF +%F8525227A852F852F8FD0FFF52FF52527D52A8527D52A8A8FD04527D277D +%52F8F8F8FD18FF52A852A852A8FD07FFF8FFFF52A8A87D525252F852F852 +%F8FFA8A8A8527D527DFD13FF5227522752FF522727F87D27FD0EFFF8F852 +%27FF7D2727277D277D52A827277D7DFF7DFD04F8FD15FFA852A8FF7D7D7D +%52FD08FF2752FF7D2752F8272727F8522727A8FF7DFFFF27A852FD12FF52 +%7D7D52F827277D5227F852A827FD0EFFA8F8277D527D277D5227F87DFD09 +%F8A87DF8F8FD12FFF8A8FF7DFF527D52A8FD09FF7DFF52A87D277D277D27 +%7D52277D7D527D7D7DF8FD12FF27FF277DF87DF87D522727F827FF7D27FD +%10FF27F827F8F827527DF82727F827F82727FD05FF7DF827FD0EFF52277D +%A852FFFFFF527DFD0BFF7DFFFF527D52F8F827F8F8277D7D7DFF2727FD12 +%FF27FFA87D5252527D27F827F82752277DA87DFD10FF52FF52FFFFA8A8F8 +%527D27F85252A8FD07FF27A8FD0CFF527DFF7D52FFA8FFA8A8A8FD0BFFA8 +%7DA8A827F827525252277DF8A8A8A827FD12FF7DFF52FF52FF522727277D +%27F82727FF7DA8527DFD0EFF52FF7DA8FFA8FF7D52A8FD057DFD15FF527D +%FFFF7D7DFF7D7DA8527DFD0CFF7D277DF827F8FF27FFF8272727FF52FD13 +%FFA852FF527DFF7D5252522752F852F8527D52FF527DFD0DFF7D527DFFFF +%5252A87D52FF52277DFD15FF527DFFA8A87D7DFFA87D527D52FD0EFF7DA8 +%27277DA8A8525252A827FD13FF272727FF7D52A8FF7D52277D27277D527D +%FFFF7DFF527DFD0BFF27FFFF52FFFF7D52A8FF27FF7D7DFD15FF27A87D7D +%FF7D52FFFF7D7DFF52FD0FFF7D27F8F8277DFFF8F8F827FD13FFA8277DA8 +%52527DA8A8F85252FF527D527D527D52A8FFFF27FD0BFF5252A87D52FFFF +%5252FFFF7DA8FD15FF27A852A852FF527D52FD04A852FD10FFA852F85252 +%F8275252FD14FF7DFF52277D7D277D52F85227522752F852A8527D52A852 +%A8F8FD09FF52A8FFA852277D7D52FFFF7D7DFD0BFF7DFD09FF27A8FF27FF +%7D527D7DFF7DA8FFA8FD13FFF8F8F827F87DFD14FF277DFF7DFFA8FFA8FF +%FF277D52A8F8A8F87DFF7DFFA8527D7DA8A8FD08FF7D7DA852FF7D7DFF7D +%FF7DFD0DFFF8FD08FFF8A827272752F87D527D5227527D27FD13FFFD05F8 +%7DFD14FFA8FFA87D7D52FF52FF522727FF527D27F827A87DFD04FF7DFF7D +%FD08FF527D52FFFFA827FF7D27FD0EFF27F87DFD05FF277DF8F8F827277D +%527DF8F8F827F87DFD13FFA8FD04F8FD14FFA827FF527D52A8FF7D52A827 +%5252F8F87D277DA8A852A852A8FFA8A87DFD07FF7DA87D52A8FFA8527DFD +%10FFA8F8F8A8FF525252F8522752F8F8F852527DA852527D525227FD12FF +%F8A852F8FD14FF52A8FFFF27FF52A827FF7D27277D527D52F852FF7DA852 +%A8FD04FF7DFD07FF527D7D7DFF7D52FD15FFF87DF8F8527D277D2727277D +%277D27F852F8527D5227F827FD0FFFF827FFFFA8F8FD13FF52A8FFFFA8FF +%FF7DFFA8FF527D5227527D52277DA8FF7D7DA8FF7D527D52FD06FF7D527D +%7D7DA8FD17FFF8F8F87DA87D527DF8A827A8FF7D7D7DF87D277D277D27FD +%0FFFF8FD04FF5252FD12FFF827277D7D7D52277DFFFFFF277D527D27FFFF +%FF277D527D7D7D52A87D27FD06FFF87D27A8FD19FFF8F8F85227FF275227 +%277D277D277DFF7D527D527D7D27FD0EFF2727FD05FFF8FD12FF52527D52 +%7D527DFD05FF5252522752FD05FF7D52A8527D527D52FD22FFF8A8F8F852 +%277D27F85252277D277D52522752525227FD10FFF8FD06FFF8FD12FFF827 +%52F852FD08FFA852F8FD0AFF7D7D7DFD22FFF827FF7DFF277D27F8527D27 +%7D52F8F8FD04277DFD11FF27FD08FFF8FD1EFF275227FD2CFF7DF87DFD06 +%FFF87D27F8277D52FF7D7DFF7D7DA8FD68FF7D7DFD09FF27A8527DFFFF7D +%A852FFFF7DFFA8FD67FF52FD0AFF7D5252527D527D5252A87D5252FFA8FD +%72FF7DFFA8FF7D527D52FFFFFF7DA827FD73FF52FF7DFFFF27A87D7DA87D +%FF7D52FD73FF27FF7D27A827FF527DFFFF527DFD74FFA8A852527D52A852 +%52A8A8527DFD75FF2727FFFF7D7DFFFF527DF8FD76FF7DA852FD04FF2752 +%7DFD78FF277D277DA8277D27FD7AFFA87D27F827F8FDFCFFFDA8FFFF +%%EndBinary +%%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 26 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 + { + (AI8_CMYK_CustomColor) + 6 packedarray + } bind def + /findrgbcustomcolor + { + (AI8_RGB_CustomColor) + 5 packedarray + } bind def + /setcustomcolor + { + exch + aload pop dup + (AI8_CMYK_CustomColor) eq + { + pop pop + 4 + { + 4 index mul + 4 1 roll + } repeat + 5 -1 roll pop + setcmykcolor + } + { + dup (AI8_RGB_CustomColor) eq + { + pop pop + 3 + { + 1 exch sub + 3 index mul + 1 exch sub + 3 1 roll + } repeat + 4 -1 roll pop + setrgbcolor + } + { + pop + 4 + { + 4 index mul 4 1 roll + } repeat + 5 -1 roll pop + setcmykcolor + } ifelse + } ifelse + } + def + } if + /setAIseparationgray + { + false setoverprint + 0 setgray + /setseparationgray where{ + pop setseparationgray + }{ + /setcolorspace where{ + pop + [/Separation (All) /DeviceCMYK {dup dup dup}] setcolorspace + 1 exch sub setcolor + }{ + setgray + }ifelse + }ifelse + } def + + /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? + 1 0 0 0 testCMYKColorThrough + 0 1 0 0 testCMYKColorThrough + 0 0 1 0 testCMYKColorThrough + 0 0 0 1 testCMYKColorThrough + and and and + 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.3 0 +userdict /Adobe_ColorImage_AI6 known not +{ + userdict /Adobe_ColorImage_AI6 53 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 41 dict def +} if +Adobe_ColorImage_AI6_Vars begin + /plateindex -1 def + /_newproc null def + /_proc1 null def + /_proc2 null def + /sourcearray 4 array def + /_ptispace null def + /_ptiname null def + /_pti0 0 def + /_pti1 0 def + /_ptiproc null def + /_ptiscale 0 def + /_pticomps 0 def + /_ptibuf 0 string def + /_gtigray 0 def + /_cticmyk null def + /_rtirgb null def + /XIEnable true def + /XIType 0 def + /XIEncoding 0 def + /XICompression 0 def + /XIChannelCount 0 def + /XIBitsPerPixel 0 def + /XIImageHeight 0 def + /XIImageWidth 0 def + /XIImageMatrix null def + /XIRowBytes 0 def + /XIFile null def + /XIBuffer1 null def + /XIBuffer2 null def + /XIBuffer3 null def + /XIDataProc null def + /XIColorSpace /DeviceGray def + /XIColorValues 0 def + /XIPlateList false def +end +/ci6colorimage /colorimage where {/colorimage get}{null} ifelse def +/ci6image systemdict /image get def +/ci6curtransfer systemdict /currenttransfer get def +/ci6curoverprint /currentoverprint where {/currentoverprint get}{{_of}} ifelse def +/ci6foureq { + 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 +/ci6testplate { + 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 ci6foureq { + /plateindex 0 def + }{ + 0 1 0 0 ci6foureq { + /plateindex 1 def + }{ + 0 0 1 0 ci6foureq { + /plateindex 2 def + }{ + 0 0 0 1 ci6foureq { + /plateindex 3 def + }{ + 0 0 0 0 ci6foureq { + /plateindex 5 def + } if + } ifelse + } ifelse + } ifelse + } ifelse + pop pop pop pop + } if + plateindex + end +} def +/ci6concatprocs { + /packedarray where { + pop dup type /packedarraytype eq 2 index type + /packedarraytype eq or + }{ + false + } ifelse + { + /_proc2 exch cvlit def + /_proc1 exch cvlit def + _proc1 aload pop + _proc2 aload pop + _proc1 length + _proc2 length add + packedarray cvx + }{ + /_proc2 exch cvlit def + /_proc1 exch cvlit def + /_newproc _proc1 length _proc2 length add array def + _newproc 0 _proc1 putinterval + _newproc _proc1 length _proc2 putinterval + _newproc cvx + } ifelse +} def +/ci6istint { + type /arraytype eq +} def +/ci6isspot { + dup type /arraytype eq { + dup length 1 sub get /Separation eq + }{ + pop false + } ifelse +} def +/ci6spotname { + dup ci6isspot {dup length 2 sub get}{pop ()} ifelse +} def +/ci6altspace { + aload pop pop pop ci6colormake +} def +/ci6numcomps { + dup /DeviceGray eq { + pop 1 + }{ + dup /DeviceRGB eq { + pop 3 + }{ + /DeviceCMYK eq { + 4 + }{ + 1 + } ifelse + } ifelse + } ifelse +} def +/ci6marksplate { + dup /DeviceGray eq { + pop plateindex 3 eq + }{ + dup /DeviceRGB eq { + pop plateindex 5 ne + }{ + dup /DeviceCMYK eq { + pop plateindex 5 ne + }{ + dup ci6isspot { + /findcmykcustomcolor where { + pop + dup length 2 sub get + 0.1 0.1 0.1 0.1 5 -1 roll + findcmykcustomcolor 1 setcustomcolor + systemdict /currentgray get exec + 1 ne + }{ + pop plateindex 5 ne + } ifelse + }{ + pop plateindex 5 ne + } ifelse + } ifelse + } ifelse + } ifelse +} def +/ci6colormake { + dup ci6numcomps + exch 1 index 2 add 1 roll + dup 1 eq {pop}{array astore} ifelse + exch +} def +/ci6colorexpand { + dup ci6spotname exch + dup ci6istint { + ci6altspace + exch 4 1 roll + }{ + 1 3 1 roll + } ifelse +} def +/ci6colortint { + dup /DeviceGray eq { + 3 1 roll 1 exch sub mul 1 exch sub exch + }{ + dup /DeviceRGB eq { + 3 1 roll {1 exch sub 1 index mul 1 exch sub exch} forall pop 3 array astore exch + }{ + dup /DeviceCMYK eq { + 3 1 roll {1 index mul exch} forall pop 4 array astore exch + }{ + 3 1 roll mul exch + } ifelse + } ifelse + } ifelse +} def +/ci6colortocmyk { + dup /DeviceGray eq { + pop 1 exch sub 0 0 0 4 -1 roll 4 array astore + }{ + dup /DeviceRGB eq { + pop aload pop _rgbtocmyk 4 array astore + }{ + dup /DeviceCMYK eq { + pop + }{ + ci6altspace ci6colortint ci6colortocmyk + } ifelse + } ifelse + } ifelse +} def +/ci6makeimagedict { + 7 dict begin + /ImageType 1 def + /Decode exch def + /DataSource exch def + /ImageMatrix exch def + /BitsPerComponent exch def + /Height exch def + /Width exch def + currentdict end +} def +/ci6stringinvert { + 0 1 2 index length 1 sub { + dup 2 index exch get 255 exch sub 2 index 3 1 roll put + } for +} def +/ci6stringknockout { + 0 1 2 index length 1 sub { + 255 2 index 3 1 roll put + } for +} def +/ci6stringapply { + 0 1 4 index length 1 sub { + dup + 4 index exch get + 3 index 3 1 roll + 3 index exec + } for + pop exch pop +} def +/ci6walkrgbstring { + 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 +/ci6walkcmykstring +{ + 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 +/ci6putrgbtograystr +{ + .11 mul exch + + .59 mul add exch + + .3 mul add + + cvi 3 copy put + + pop 1 add +} def +/ci6putcmyktograystr +{ + 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 +/ci6rgbtograyproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + XIBuffer3 + dup 3 1 roll + + /ci6putrgbtograystr load exch + ci6walkrgbstring + end +} def +/ci6cmyktograyproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + XIBuffer3 + dup 3 1 roll + + /ci6putcmyktograystr load exch + ci6walkcmykstring + end +} def +/ci6separatecmykproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + + XIBuffer3 + + 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 + end +} def + +/ci6compositeimage { + dup 1 eq { + pop pop image + }{ + /ci6colorimage load null ne { + ci6colorimage + }{ + 3 1 roll pop + sourcearray 0 3 -1 roll put + 3 eq {/ci6rgbtograyproc}{/ci6cmyktograyproc} ifelse load + image + } ifelse + } ifelse +} def +/ci6knockoutimage { + gsave + 0 ci6curtransfer exec 1 ci6curtransfer exec + eq { + 0 ci6curtransfer exec 0.5 lt + }{ + 0 ci6curtransfer exec 1 ci6curtransfer exec gt + } ifelse + {{pop 0}}{{pop 1}} ifelse + systemdict /settransfer get exec + ci6compositeimage + grestore +} def +/ci6drawimage { + ci6testplate -1 eq { + pop ci6compositeimage + }{ + dup type /arraytype eq { + dup length plateindex gt {plateindex get}{pop false} ifelse + }{ + { + true + }{ + dup 1 eq {plateindex 3 eq}{plateindex 3 le} ifelse + } ifelse + } ifelse + { + dup 1 eq { + pop pop ci6image + }{ + dup 3 eq { + ci6compositeimage + }{ + pop pop + sourcearray 0 3 -1 roll put + /ci6separatecmykproc load + ci6image + } ifelse + } ifelse + }{ + ci6curoverprint { + 7 {pop} repeat + }{ + ci6knockoutimage + } ifelse + } ifelse + } ifelse +} def +/ci6proctintimage { + /_ptispace exch store /_ptiname exch store /_pti1 exch store /_pti0 exch store /_ptiproc exch store + /_pticomps _ptispace ci6numcomps store + /_ptiscale _pti1 _pti0 sub store + level2? { + _ptiname length 0 gt version cvr 2012 ge and { + [/Separation _ptiname _ptispace {_ptiproc}] setcolorspace + [_pti0 _pti1] ci6makeimagedict ci6image + }{ + [/Indexed _ptispace 255 {255 div _ptiscale mul _pti0 add _ptiproc}] setcolorspace + [0 255] ci6makeimagedict ci6image + } ifelse + }{ + _pticomps 1 eq { + { + dup + { + 255 div _ptiscale mul _pti0 add _ptiproc 255 mul cvi put + } ci6stringapply + } ci6concatprocs ci6image + }{ + { + dup length _pticomps mul dup _ptibuf length ne {/_ptibuf exch string store}{pop} ifelse + _ptibuf { + exch _pticomps mul exch 255 div _ptiscale mul _pti0 add _ptiproc + _pticomps 2 add -2 roll + _pticomps 1 sub -1 0 { + 1 index add 2 index exch + 5 -1 roll + 255 mul cvi put + } for + pop pop + } ci6stringapply + } ci6concatprocs false _pticomps + /ci6colorimage load null eq {7 {pop} repeat}{ci6colorimage} ifelse + } ifelse + } ifelse +} def +/ci6graytintimage { + /_gtigray 5 -1 roll store + {1 _gtigray sub mul 1 exch sub} 4 1 roll + /DeviceGray ci6proctintimage +} def +/ci6cmyktintimage { + /_cticmyk 5 -1 roll store + {_cticmyk {1 index mul exch} forall pop} 4 1 roll + /DeviceCMYK ci6proctintimage +} def +/ci6rgbtintimage { + /_rtirgb 5 -1 roll store + {_rtirgb {1 exch sub 1 index mul 1 exch sub exch} forall pop} 4 1 roll + /DeviceRGB ci6proctintimage +} def +/ci6tintimage { + ci6testplate -1 eq { + ci6colorexpand + 3 -1 roll 5 -1 roll {0}{0 exch} ifelse 4 2 roll + dup /DeviceGray eq { + pop ci6graytintimage + }{ + dup /DeviceRGB eq { + pop ci6rgbtintimage + }{ + pop ci6cmyktintimage + } ifelse + } ifelse + }{ + dup ci6marksplate { + plateindex 5 lt { + ci6colortocmyk plateindex get + dup 0 eq ci6curoverprint and { + 7 {pop} repeat + }{ + 1 exch sub + exch {1 0}{0 1} ifelse () ci6graytintimage + } ifelse + }{ + pop exch {0}{0 exch} ifelse 0 3 1 roll () ci6graytintimage + } ifelse + }{ + ci6curoverprint { + 8 {pop} repeat + }{ + pop pop pop + {pop 1} 0 1 () /DeviceGray ci6proctintimage + } ifelse + } ifelse + } ifelse +} def +/XINullImage { +} def +/XIImageMask { + XIImageWidth XIImageHeight false + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + imagemask +} def +/XIImageTint { + XIImageWidth XIImageHeight XIBitsPerPixel + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + XIType 3 eq XIColorValues XIColorSpace ci6tintimage +} def +/XIImage { + XIImageWidth XIImageHeight XIBitsPerPixel + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + false XIChannelCount XIPlateList ci6drawimage +} def +/XG { + pop pop +} def +/XF { + 13 {pop} repeat +} def +/Xh { + Adobe_ColorImage_AI6_Vars begin + gsave + /XIType exch def + /XIImageHeight exch def + /XIImageWidth exch def + /XIImageMatrix exch def + 0 0 moveto + XIImageMatrix concat + XIImageWidth XIImageHeight scale + + /_lp /null ddef + _fc + /_lp /imagemask ddef + end +} def +/XH { + Adobe_ColorImage_AI6_Vars begin + grestore + end +} def +/XIEnable { + Adobe_ColorImage_AI6_Vars /XIEnable 3 -1 roll put +} def +/XC { + Adobe_ColorImage_AI6_Vars begin + ci6colormake + /XIColorSpace exch def + /XIColorValues exch def + end +} def +/XIPlates { + Adobe_ColorImage_AI6_Vars begin + /XIPlateList exch def + end +} def +/XI +{ + Adobe_ColorImage_AI6_Vars begin + gsave + /XIType exch def + cvi dup + 256 idiv /XICompression exch store + 256 mod /XIEncoding exch store + 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 + /XIRowBytes exch def + XIEnable { + /XIBuffer3 XIImageWidth string def + XICompression 0 eq { + /XIBuffer1 XIRowBytes string def + XIEncoding 0 eq { + {currentfile XIBuffer1 readhexstring pop} + }{ + {currentfile XIBuffer1 readstring pop} + } ifelse + }{ + /XIBuffer1 256 string def + /XIBuffer2 XIRowBytes string def + {currentfile XIBuffer1 readline pop (%) anchorsearch {pop} if} + /ASCII85Decode filter /DCTDecode filter + /XIFile exch def + {XIFile XIBuffer2 readstring pop} + } ifelse + /XIDataProc exch def + + XIType 1 ne { + 0 setgray + } if + XIType 1 eq { + XIImageMask + }{ + XIType 2 eq XIType 3 eq or { + XIImageTint + }{ + XIImage + } ifelse + } ifelse + }{ + XINullImage + } ifelse + /XIPlateList false def + grestore + end +} def +end +%%EndProcSet +%%BeginResource: procset Adobe_Illustrator_AI5 1.3 0 +%%Title: (Adobe Illustrator (R) Version 8.0 Full Prolog) +%%Version: 1.3 0 +%%CreationDate: (3/7/1994) () +%%Copyright: ((C) 1987-1998 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_Illustrator_AI5_vars 112 dict dup begin +put +/_?cmyk false def +/_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 +/_lineorientation 0 def +/_charorientation 0 def +/_yokoorientation 0 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 +/_shift [0 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 +/_fontSize 0 def +/_fontAscent 0 def +/_fontDescent 0 def +/_fontHeight 0 def +/_fontRotateAdjust 0 def +/Ss 256 string def +Ss 0 (fonts/) putinterval +/_cnt 0 def +/_scale [1 1] def +/_nativeEncoding 0 def +/_useNativeEncoding 0 def +/_tempEncode 0 def +/_pntr 0 def +/_tDict 2 dict def +/_hfname 100 string def +/_hffound false def +/Tx +{ +} def +/Tj +{ +} def +/CRender +{ +} def +/_AI3_savepage +{ +} def +/_gf null def +/_cf 4 array def +/_rgbf 3 array def +/_if null def +/_of false def +/_fc +{ +} def +/_gs null def +/_cs 4 array def +/_rgbs 3 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 +/_lobyte 0 def +/_hibyte 0 def +/_cproc null def +/_cscript 0 def +/_hvax 0 def +/_hvay 0 def +/_hvwb 0 def +/_hvcx 0 def +/_hvcy 0 def +/_bitfont null def +/_bitlobyte 0 def +/_bithibyte 0 def +/_bitkey null def +/_bitdata null def +/_bitindex 0 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 100 dict put +} if +userdict /Adobe_Illustrator_AI5 get begin +/initialize +{ + Adobe_Illustrator_AI5 dup begin + Adobe_Illustrator_AI5_vars begin + /_aicmykps where {pop /_?cmyk _aicmykps def}if + 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 +/hswj +{ + dup stringwidth 3 2 roll + { + _hvwb eq { exch _hvcx add exch _hvcy add } if + exch _hvax add exch _hvay add + } cforall +} def +/vswj +{ + 0 0 3 -1 roll + { + dup 255 le + _charorientation 1 eq + and + { + dup cstring stringwidth 5 2 roll + _hvwb eq { exch _hvcy sub exch _hvcx sub } if + exch _hvay sub exch _hvax sub + 4 -1 roll sub exch + 3 -1 roll sub exch + } + { + _hvwb eq { exch _hvcy sub exch _hvcx sub } if + exch _hvay sub exch _hvax sub + _fontHeight sub + } ifelse + } cforall +} def +/swj +{ + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + _lineorientation 0 eq { hswj } { vswj } ifelse +} def +/sw +{ + 0 0 0 6 3 roll swj +} def +/vjss +{ + 4 1 roll + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + gsave + false charpath currentpoint + 5 index setmatrix stroke + grestore + _fontRotateAdjust sub + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + 5 index sub + 3 index _sp eq + { + 9 index sub + } if + + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + + gsave + 2 index false charpath + 6 index setmatrix stroke + grestore + + moveto pop pop + } ifelse + } cforall + 6 npop +} def +/hjss +{ + 4 1 roll + { + dup cstring + gsave + false charpath currentpoint + 5 index setmatrix stroke + grestore + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + } cforall + 6 npop +} def +/jss +{ + _lineorientation 0 eq { hjss } { vjss } ifelse +} def +/ss +{ + 0 0 0 7 3 roll jss +} def +/vjsp +{ + 4 1 roll + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + false charpath + currentpoint + _fontRotateAdjust sub + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + 5 index sub + 3 index _sp eq + { + 9 index sub + } if + + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + + 2 index false charpath + + moveto pop pop + } ifelse + } cforall + 6 npop +} def +/hjsp +{ + 4 1 roll + { + dup cstring + false charpath + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + } cforall + 6 npop +} def +/jsp +{ + matrix currentmatrix + _lineorientation 0 eq {hjsp} {vjsp} ifelse +} def +/sp +{ + matrix currentmatrix + 0 0 0 7 3 roll + _lineorientation 0 eq {hjsp} {vjsp} ifelse +} 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 +/_rgbtocmyk +{ + 3 + { + 1 exch sub 3 1 roll + } repeat + 3 copy 1 4 1 roll + 3 + { + 3 index 2 copy gt + { + exch + } if + pop 4 1 roll + } repeat + pop pop pop + 4 1 roll + 3 + { + 3 index sub + 3 1 roll + } repeat + 4 -1 roll +} def +/setrgbfill +{ + _rgbf astore pop + /_fc + { + _lp /fill ne + { + _of setoverprint + _rgbf aload pop setrgbcolor + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/setrgbstroke +{ + _rgbs astore pop + /_sc + { + _lp /stroke ne + { + _os setoverprint + _rgbs aload pop setrgbcolor + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} 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 + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } 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 + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } 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 +/Xa +{ + _?cmyk { + 3 npop k + }{ + setrgbfill 4 npop + } ifelse +} def +/XA +{ + _?cmyk { + 3 npop K + }{ + setrgbstroke 4 npop + } ifelse +} def +/Xs +{ + /_gf exch ddef + 5 npop + /_fc + { + _lp /fill ne + { + _of setoverprint + _gf setAIseparationgray + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/XS +{ + /_gs exch ddef + 5 npop + /_sc + { + _lp /stroke ne + { + _os setoverprint + _gs setAIseparationgray + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/Xx +{ + exch + /_gf exch ddef + 0 eq { + findcmykcustomcolor + }{ + _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse + { + 4 1 roll 3 npop + findcmykcustomcolor + }{ + 8 -4 roll 4 npop + findrgbcustomcolor + } ifelse + } ifelse + /_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 + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/XX +{ + exch + /_gs exch ddef + 0 eq { + findcmykcustomcolor + }{ + _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse + { + 4 1 roll 3 npop + findcmykcustomcolor + }{ + 8 -4 roll 4 npop + findrgbcustomcolor + } ifelse + } ifelse + /_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 +/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 + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } 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 +/XK +{ + 3 -1 roll pop + 0 eq + { + 1 exch sub + 3 {dup 3 1 roll mul 5 1 roll} repeat + mul 4 1 roll + K + } + { + 1 exch sub 4 1 roll + 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat + 4 -1 roll pop + XA + } ifelse +} def +/Xk +{ + 3 -1 roll pop + 0 eq + { + 1 exch sub + 3 {dup 3 1 roll mul 5 1 roll} repeat + mul 4 1 roll + k + } + { + 1 exch sub 4 1 roll + 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat + 4 -1 roll pop + Xa + } ifelse +} def +/A +{ + pop +} def +/annotatepage +{ +userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse +} def +/XT { + pop pop +} def +/Xt { + 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} stopped { + % assume error was due to overfilling the buffer + }{ + not + { + stop + } if + endString eq { + cleartomark stop + } if + }ifelse + } loop +} def +3 +{ + /beginString exch store + /layerCnt 1 store + mark + { + currentfile buffer {readline} stopped { + % assume error was due to overfilling the buffer + }{ + 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 + }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 +{ + 6 npop + 7 2 roll + 5 npop + 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 4 dict def +nc begin +/setgray +{ + pop +} bind def +/setcmykcolor +{ + 4 npop +} bind def +/setrgbcolor +{ + 3 npop +} bind def +/setcustomcolor +{ + 2 npop +} bind def +currentdict readonly pop +end +/XP +{ + 4 npop +} bind def +/XD +{ + pop +} bind def +end +setpacking +%%EndResource +%%BeginResource: procset Adobe_cshow 2.0 8 +%%Title: (Writing System Operators) +%%Version: 2.0 8 +%%CreationDate: (1/23/89) () +%%Copyright: ((C) 1992-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_cshow 14 dict dup begin put +/initialize +{ + Adobe_cshow begin + Adobe_cshow + { + dup xcheck + { + bind + } if + pop pop + } forall + end + Adobe_cshow begin +} def +/terminate +{ +currentdict Adobe_cshow eq + { + end + } if +} def +/cforall +{ + /_lobyte 0 ddef + /_hibyte 0 ddef + /_cproc exch ddef + /_cscript currentfont /FontScript known { currentfont /FontScript get } { -1 } ifelse ddef + { + /_lobyte exch ddef + _hibyte 0 eq + _cscript 1 eq + _lobyte 129 ge _lobyte 159 le and + _lobyte 224 ge _lobyte 252 le and or and + _cscript 2 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript 3 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript 25 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript -1 eq + or or or or and + { + /_hibyte _lobyte ddef + } + { + _hibyte 256 mul _lobyte add + _cproc + /_hibyte 0 ddef + } ifelse + } forall +} def +/cstring +{ + dup 256 lt + { + (s) dup 0 4 3 roll put + } + { + dup 256 idiv exch 256 mod + (hl) dup dup 0 6 5 roll put 1 4 3 roll put + } ifelse +} def +/clength +{ + 0 exch + { 256 lt { 1 } { 2 } ifelse add } cforall +} def +/hawidthshow +{ + { + dup cstring + show + _hvax _hvay rmoveto + _hvwb eq { _hvcx _hvcy rmoveto } if + } cforall +} def +/vawidthshow +{ + { + dup 255 le + _charorientation 1 eq + and + { + -90 rotate + 0 _fontRotateAdjust rmoveto + cstring + _hvcx _hvcy _hvwb _hvax _hvay 6 -1 roll awidthshow + 0 _fontRotateAdjust neg rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + exch _hvay sub exch _hvax sub + 2 index _hvwb eq { exch _hvcy sub exch _hvcx sub } if + 3 2 roll + cstring + dup stringwidth pop 2 div neg _fontAscent neg rmoveto + show + moveto + } ifelse + } cforall +} def +/hvawidthshow +{ + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + _lineorientation 0 eq { hawidthshow } { vawidthshow } ifelse +} def +/hvwidthshow +{ + 0 0 3 -1 roll hvawidthshow +} def +/hvashow +{ + 0 0 0 6 -3 roll hvawidthshow +} def +/hvshow +{ + 0 0 0 0 0 6 -1 roll hvawidthshow +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_shading_AI8 1.0 0 +%%Title: (Adobe Illustrator 8 Shading Procset) +%%Version: 1.0 0 +%%CreationDate: (12/17/97) () +%%Copyright: ((C) 1987-1997 Adobe Systems Incorporated All Rights Reserved) +userdict /defaultpacking currentpacking put true setpacking +userdict /Adobe_shading_AI8 10 dict dup begin put +/initialize { + Adobe_shading_AI8 begin + Adobe_shading_AI8 bdprocs + Mesh /initialize get exec +} def +/terminate { + currentdict Adobe_shading_AI8 eq { + end + } if +} def +/bdprocs { + { + dup xcheck 1 index type /arraytype eq and { + bind + } if + pop pop + } forall +} def +/X! {pop} def +/X# {pop pop} def +/Mesh 40 dict def +Mesh begin +/initialize { + Mesh bdprocs + Mesh begin + /emulate? /AI8MeshEmulation where { + pop AI8MeshEmulation + }{ + systemdict /shfill known not + } ifelse def + end +} def +/bd { + shadingdict begin +} def +/paint { + emulate? { + end + }{ + /_lp /none ddef _fc /_lp /none ddef + + /AIColorSpace AIColorSpace tocolorspace store + /ColorSpace AIColorSpace topsspace store + + version_ge_3010.106 not systemdict /setsmoothness known and { + 0.0001 setsmoothness + } if + + composite? { + /DataSource getdatasrc def + Matrix concat + currentdict end + shfill + }{ + AIColorSpace makesmarks AIPlateList markingplate and not isoverprint and { + end + }{ + /ColorSpace /DeviceGray store + /Decode [0 1 0 1 0 1] store + /DataSource getplatesrc def + Matrix concat + currentdict end + shfill + } ifelse + } ifelse + } ifelse +} def +/shadingdict 12 dict def +shadingdict begin + /ShadingType 6 def + /BitsPerCoordinate 16 def + /BitsPerComponent 8 def + /BitsPerFlag 8 def +end +/datafile null def +/databuf 256 string def +/dataptr 0 def +/srcspace null def +/srcchannels 0 def +/dstchannels 0 def +/dstplate 0 def +/srctodstcolor null def +/getplatesrc { + /srcspace AIColorSpace store + /srcchannels AIColorSpace getnchannels store + /dstchannels 1 store + /dstplate getplateindex store + /srctodstcolor srcspace makesmarks { + dstplate 4 eq { + {1 exch sub} + }{ + {srcspace tocmyk 3 dstplate sub index 1 exch sub 5 1 roll 4 {pop} repeat} + } ifelse + }{ + {srcchannels {pop} repeat 1} + } ifelse store + /datafile getdatasrc store + /rdpatch168 load DataLength () /SubFileDecode filter +} def +/getdatasrc { + /rdcmntline load /ASCII85Decode filter +} def +/rdpatch168 { + /dataptr 0 store + 49 rdcount + 4 { + dup {pop srcchannels getint8} if + dup {pop srctodstcolor dstchannels putint8 true} if + } repeat + {databuf 0 dataptr getinterval}{()} ifelse +} def +/rdpatch3216 { + /dataptr 0 store + 97 rdcount + 4 { + dup {pop srcchannels getint16} if + dup {pop srctodstcolor dstchannels putint16 true} if + } repeat + {databuf 0 dataptr getinterval}{()} ifelse +} def +/rdcount { + dup 0 gt { + datafile databuf dataptr 4 -1 roll getinterval readstring + exch length dataptr add /dataptr exch store + }{ + true + } ifelse +} def +/getint8 { + mark true 3 -1 roll + { + dup {pop datafile read} if + dup {pop 255 div true} if + } repeat + { + counttomark 1 add -1 roll pop true + }{ + cleartomark false + } ifelse +} def +/putint8 { + dup dataptr add /dataptr exch store + dataptr exch + { + 1 sub exch + 255 mul cvi + databuf 2 index + 3 -1 roll put + } repeat + pop +} def +/getint16 { + mark true 3 -1 roll + { + dup {pop datafile read} if + dup {pop 256 mul datafile read} if + dup {pop add 65535 div true} if + } repeat + { + counttomark 1 add -1 roll pop true + }{ + cleartomark false + } ifelse +} def +/putint16 { + dup 2 mul dataptr add /dataptr exch store + dataptr exch + { + 2 sub exch + 65535 mul cvi dup + 256 idiv databuf 3 index 3 -1 roll put + 256 mod databuf 2 index 1 add 3 -1 roll put + } repeat + pop +} def +/srcbuf 256 string def +/rdcmntline { + currentfile srcbuf readline pop + (%) anchorsearch {pop} if +} def +/getplateindex { + 0 [cyan? magenta? yellow? black? customColor?] {{exit} if 1 add} forall +} def +/aicsarray 4 array def +/aicsaltvals 4 array def +/aicsaltcolr aicsaltvals def +/tocolorspace { + dup type /arraytype eq { + mark exch aload pop + aicsarray 0 3 -1 roll put + aicsarray 1 3 -1 roll put + dup aicsarray 2 3 -1 roll put + gettintxform aicsarray 3 3 -1 roll put + counttomark aicsaltvals 0 3 -1 roll getinterval /aicsaltcolr exch store + aicsaltcolr astore pop pop + aicsarray + } if +} def +/subtintxform {aicsaltcolr {1 index mul exch} forall pop} def +/addtintxform {aicsaltcolr {1 sub 1 index mul 1 add exch} forall pop} def +/gettintxform { + /DeviceRGB eq {/addtintxform}{/subtintxform} ifelse load +} def +/getnchannels { + dup type /arraytype eq {0 get} if + colorspacedict exch get begin Channels end +} def +/makesmarks { + composite? { + pop true + }{ + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin MarksPlate end + } ifelse +} def +/markingplate { + composite? { + pop true + }{ + dup type /arraytype eq { + dup length getplateindex gt {getplateindex get}{pop false} ifelse + } if + } ifelse +} def +/tocmyk { + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin ToCMYK end +} def +/topsspace { + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin ToPSSpace end +} def +/colorspacedict 5 dict dup begin + /DeviceGray 4 dict dup begin + /Channels 1 def + /MarksPlate {pop black?} def + /ToCMYK {pop 1 exch sub 0 0 0 4 -1 roll} def + /ToPSSpace {} def + end def + /DeviceRGB 4 dict dup begin + /Channels 3 def + /MarksPlate {pop isCMYKSep?} def + /ToCMYK {pop _rgbtocmyk} def + /ToPSSpace {} def + end def + /DeviceCMYK 4 dict dup begin + /Channels 4 def + /MarksPlate {pop isCMYKSep?} def + /ToCMYK {pop} def + /ToPSSpace {} def + end def + /Separation 4 dict dup begin + /Channels 1 def + /MarksPlate { + /findcmykcustomcolor where { + pop dup 1 exch ToCMYK 5 -1 roll 1 get + findcmykcustomcolor 1 setcustomcolor + systemdict /currentgray get exec + 1 ne + }{ + pop false + } ifelse + } def + /ToCMYK { + dup 2 get mark exch 4 2 roll + 3 get exec + counttomark -1 roll tocmyk + 5 -1 roll pop + } def + /ToPSSpace {} def + end def + /Process 4 dict dup begin + /Channels 1 def + /MarksPlate { + isCMYKSep? { + 1 exch ToCMYK 4 array astore getplateindex get 0 ne + }{ + pop false + } ifelse + } def + /ToCMYK { + dup 2 get mark exch 4 2 roll + 3 get exec + counttomark -1 roll tocmyk + 5 -1 roll pop + } def + /ToPSSpace { + 4 array copy dup 0 /Separation put + } def + end def +end def +/isoverprint { + /currentoverprint where {pop currentoverprint}{_of} ifelse +} def +/version_ge_3010.106 { + version {cvr} stopped { + pop + false + }{ + 3010.106 ge + } ifelse +} def +end +end +defaultpacking setpacking +%%EndResource +%%EndProlog +%%BeginSetup +userdict /_useSmoothShade false put +userdict /_aicmykps false put +userdict /_forceToCMYK false put +Adobe_level2_AI5 /initialize get exec +Adobe_cshow /initialize get exec +Adobe_ColorImage_AI6 /initialize get exec +Adobe_shading_AI8 /initialize get exec +Adobe_Illustrator_AI5 /initialize get exec +%AI5_Begin_NonPrinting +Np +%AI3_BeginPattern: (Brick) +(Brick) 0 0 72 72 [ +%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 +0 0 m +0 72 L +72 72 L +72 0 L +0 0 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 +0 68.4097 m +72 68.4097 l +S
0 61.209 m +72 61.209 L +S
0 54.0088 m +72 54.0088 L +S
0 46.8076 m +72 46.8076 L +S
0 39.6084 m +72 39.6084 L +S
0 32.4072 m +72 32.4072 L +S
0 25.207 m +72 25.207 L +S
0 18.0059 m +72 18.0059 L +S
0 10.8057 m +72 10.8057 L +S
0 3.6064 m +72 3.6064 L +S
68.4102 68.4097 m +68.4102 61.2217 l +S
54.0098 68.4097 m +54.0098 61.2217 L +S
39.6094 68.4097 m +39.6094 61.2217 L +S
25.21 68.4097 m +25.21 61.2217 L +S
10.8105 68.4097 m +10.8105 61.2217 L +S
68.4102 53.9717 m +68.4102 46.7842 l +S
54.0098 53.9717 m +54.0098 46.7842 L +S
39.6094 53.9717 m +39.6094 46.7842 L +S
25.21 53.9717 m +25.21 46.7842 L +S
10.8105 53.9717 m +10.8105 46.7842 L +S
68.4102 39.5967 m +68.4102 32.4092 l +S
54.0098 39.5967 m +54.0098 32.4092 L +S
39.6094 39.5967 m +39.6094 32.4092 L +S
25.21 39.5967 m +25.21 32.4092 L +S
10.8105 39.5967 m +10.8105 32.4092 L +S
68.4102 25.2217 m +68.4102 18.0342 l +S
54.0098 25.2217 m +54.0098 18.0342 L +S
39.6094 25.2217 m +39.6094 18.0342 L +S
25.21 25.2217 m +25.21 18.0342 L +S
10.8105 25.2217 m +10.8105 18.0342 L +S
68.4102 10.7842 m +68.4102 3.5967 l +S
54.0098 10.7842 m +54.0098 3.5967 L +S
39.6094 10.7842 m +39.6094 3.5967 L +S
25.21 10.7842 m +25.21 3.5967 L +S
10.8105 10.7842 m +10.8105 3.5967 L +S
61.1973 3.5967 m +61.1973 0 L +S
46.7969 3.5967 m +46.7969 0 L +S
32.3965 3.5967 m +32.3965 0 L +S
17.9971 3.5967 m +17.9971 0 L +S
3.5967 3.5967 m +3.5967 0 l +S
61.1973 18.0342 m +61.1973 10.8467 L +S
46.7969 18.0342 m +46.7969 10.8467 L +S
32.3965 18.0342 m +32.3965 10.8467 L +S
17.9971 18.0342 m +17.9971 10.8467 L +S
3.5967 18.0342 m +3.5967 10.8467 l +S
61.1973 32.4092 m +61.1973 25.2217 L +S
46.7969 32.4092 m +46.7969 25.2217 L +S
17.9971 32.4092 m +17.9971 25.2217 L +S
3.5967 32.4092 m +3.5967 25.2217 l +S
61.1973 46.7842 m +61.1973 39.5967 L +S
46.7969 46.7842 m +46.7969 39.5967 L +S
32.3965 46.7842 m +32.3965 39.5967 L +S
17.9971 46.7842 m +17.9971 39.5967 L +S
3.5967 46.7842 m +3.5967 39.5967 l +S
61.1973 61.2217 m +61.1973 54.0347 L +S
46.7969 61.2217 m +46.7969 54.0347 L +S
32.3965 61.2217 m +32.3965 54.0347 L +S
17.9971 61.2217 m +17.9971 54.0347 L +S
3.5967 61.2217 m +3.5967 54.0347 l +S
61.1973 71.959 m +61.1973 68.4717 L +S
46.7969 71.959 m +46.7969 68.4717 L +S
32.3965 71.959 m +32.3965 68.4717 L +S
17.9971 71.959 m +17.9971 68.4717 L +S
3.5967 71.959 m +3.5967 68.4717 l +S
32.3965 32.4092 m +32.3965 25.2217 L +S
%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: (Leaves - Fall ) +(Leaves - Fall ) 0 0 64.0781 78.9336 [ +%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 +64.0781 78.9336 m +64.0781 0 L +0 0 L +0 78.9336 L +64.0781 78.9336 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 +29.7578 0.9902 m +30.4346 1.1914 30.7246 1.3428 V +29.2559 4.0547 33.707 8.3359 34.627 9.0762 C +35.2275 8.8506 35.3477 6.3184 34.6699 4.9805 C +35.5137 5.1035 37.7031 3.7256 38.4609 2.4365 C +38.5254 3.125 40.0957 6.0664 40.9219 6.4434 C +40.002 6.8408 39.3359 8.3135 38.5742 9.7617 C +39.5957 9.9287 40.9961 9.0078 42.4668 8.1025 C +42.9814 8.9043 44.3555 9.875 45.6143 10.3916 C +44.5264 11.0781 44.0313 11.8203 43.5352 13.2793 C +42.4922 12.7139 40.3057 12.5645 39.7764 12.8516 C +40.291 13.9648 42.5371 14.5078 43.2676 14.4551 C +43.0137 15.3164 42.8652 17.4697 43.0391 20.0625 C +41.3789 18.7461 39.834 17.4297 38.1738 17.4883 C +38.4434 16.0664 37.8076 14.2607 37.4307 13.7676 C +36.8574 14.5117 36.4463 15.3389 36.8008 17.3164 C +35.3486 17.8008 34.1113 18.3467 32.7373 19.6045 C +32.7373 17.7734 32.166 16.5723 31.2969 15.2959 C +32.5576 14.8076 33.8301 13.6045 33.8252 12.5664 C +32.9775 12.7178 31.2852 13.4619 30.793 14.4551 C +30.0742 13.707 28.3906 12.3984 26.7871 12.3945 C +27.9746 11.5391 28.8945 10.5059 28.9893 8.5938 C +30.2422 9.5645 32.6953 10.1797 34.0752 9.582 C +29.2344 5.3457 29.7031 2.3125 29.7578 0.9902 C +f
13.8525 29.9844 m +13.3281 29.5127 13.1309 29.25 V +15.623 27.4326 13.3691 21.6074 12.8555 20.5439 C +12.2168 20.4883 10.8096 23.2285 10.8457 24.7266 C +9.7129 23.9707 8.0488 24.0918 6.4463 24.3779 C +7.0186 23.2891 6.6172 21.3447 5.8164 20.5439 C +6.8184 20.5801 8.1699 19.8652 9.4785 18.8838 C +8.6436 18.0645 6.8164 18.2246 4.9004 18.8838 C +4.9004 17.5107 4.0781 15.7734 3.2412 14.5918 C +4.5576 14.6484 5.7031 13.9629 6.5605 12.9316 C +7.2256 14.5 9.2598 15.6133 10.166 15.5645 C +10.1826 14.1992 8.6094 12.1094 7.5879 11.7109 C +8.1875 11.041 9.207 9.5107 10.166 7.0947 C +10.9648 9.0205 12.1348 10.2627 13.3672 11.1953 C +12.2256 12.7578 12.3994 13.6289 12.7988 15.1074 C +13.541 14.5664 14.5723 14.1338 14.7441 12.1309 C +16.4609 12.416 17.5957 12.3447 19.0938 11.4434 C +18.6387 13.1055 18.6348 14.707 18.9551 16.4063 C +17.1055 16.2666 15.5449 16.4795 14.5156 17.9688 C +15.3457 18.1953 17.6055 18.2549 18.4795 17.3223 C +18.8066 18.3047 19.7012 19.7109 21.1475 20.4043 C +19.707 20.6641 18.7227 21.7637 17.8135 23.4492 C +17.1006 22.0332 14.873 20.3691 13.3711 20.3145 C +15.373 24.3779 15.373 27.2959 13.8525 29.9844 C +f
41.2324 26.0742 m +41.5518 26.7021 41.7549 26.959 V +44.1523 25.0176 48.958 28.3262 49.8535 29.0957 C +49.7432 29.7266 47.6182 30.8643 45.9004 29.834 C +46.3408 31.123 45.4395 33.084 44.2402 34.126 C +45.9805 34.0254 48.126 35.3867 48.6484 36.1289 C +48.8701 35.1514 50.0527 33.8809 51.3379 32.8672 C +51.6895 33.8398 50.9941 35.958 50.0781 37.5605 C +51.3125 38.0605 52.4248 38.9912 52.8828 40.25 C +53.3398 38.9336 54.3428 38.2598 55.6875 37.5039 C +54.5273 36.0762 53.7471 33.9023 54.0273 33.0391 C +55.3496 33.374 56.9209 36.0918 57.0439 37.1816 C +57.9189 36.415 59.4727 35.7285 62.0537 35.4219 C +60.3535 34.3438 59.9902 32.3516 59.4063 30.9219 C +58.2588 31.3682 56.0898 31.4277 55.1152 30.8643 C +55.8281 30.2852 57.168 29.7344 59.1777 29.7207 C +59.1777 28.1758 59.6406 27.043 60.8945 25.8281 C +59.1719 25.8418 57.0723 25.3555 55.5762 24.9629 C +55.3281 26.292 54.4844 27.8887 53.3398 28.2891 C +53.334 27.4277 53.5996 25.1797 54.4844 24.5117 C +53.6201 23.9443 52.3672 22.5674 51.9102 20.8496 C +51.2881 22.1758 50.4268 23.4805 48.5645 23.9238 C +49.749 24.9766 50.584 26.9941 50.25 28.4609 C +45.1973 24.4785 42.5215 25.7773 41.2324 26.0742 C +f
27.7578 38.7324 m +28.4346 38.9316 28.7246 39.084 V +27.2559 41.7969 31.707 46.0776 32.627 46.8169 C +33.2275 46.5918 33.3477 44.0586 32.6699 42.7227 C +33.5137 42.8457 35.7031 41.4678 36.4609 40.1787 C +36.5254 40.8652 38.0957 43.8066 38.9219 44.1846 C +38.002 44.582 37.3359 46.0547 36.5742 47.5039 C +37.5957 47.6709 38.9961 46.7485 40.4668 45.8438 C +40.9814 46.6445 42.3555 47.6177 43.6143 48.1328 C +42.5264 48.8198 42.0313 49.5615 41.5352 51.0205 C +40.4922 50.4556 38.3057 50.3057 37.7764 50.5938 C +38.291 51.7056 40.5371 52.2485 41.2676 52.1958 C +41.0137 53.0576 40.8652 55.2109 41.0391 57.8037 C +39.3789 56.4878 37.834 55.1719 36.1738 55.2285 C +36.4434 53.8076 35.8076 52.002 35.4307 51.5088 C +34.8574 52.2529 34.4463 53.0796 34.8008 55.0576 C +33.3486 55.5425 32.1113 56.0879 30.7373 57.3467 C +30.7373 55.5146 30.166 54.314 29.2969 53.0366 C +30.5576 52.5488 31.8301 51.3467 31.8252 50.3076 C +30.9775 50.46 29.2852 51.2036 28.793 52.1958 C +28.0742 51.4497 26.3906 50.1396 24.7871 50.1357 C +25.9746 49.2817 26.8945 48.2466 26.9893 46.335 C +28.2422 47.3057 30.6953 47.9209 32.0752 47.3237 C +27.2344 43.0869 27.7031 40.0547 27.7578 38.7324 C +f
13.5195 70.3916 m +12.9941 69.9209 12.7988 69.6587 V +15.2891 67.8418 13.0352 62.0146 12.5225 60.9517 C +11.8828 60.8955 10.4766 63.6367 10.5117 65.1348 C +9.3809 64.3789 7.7148 64.4995 6.1133 64.7856 C +6.6855 63.6987 6.2842 61.7529 5.4834 60.9517 C +6.4854 60.9878 7.8359 60.2729 9.1455 59.2925 C +8.3105 58.4717 6.4834 58.6338 4.5674 59.2925 C +4.5674 57.9189 3.7461 56.1816 2.9082 54.9995 C +4.2246 55.0576 5.3691 54.3706 6.2275 53.3408 C +6.8926 54.9097 8.9258 56.0215 9.832 55.9727 C +9.8496 54.6079 8.2764 52.5176 7.2539 52.1187 C +7.8545 51.4497 8.873 49.9189 9.832 47.5039 C +10.6309 49.4297 11.8008 50.6719 13.0342 51.6045 C +11.8926 53.1655 12.0664 54.0366 12.4648 55.5146 C +13.209 54.9746 14.2393 54.5415 14.4102 52.5386 C +16.127 52.8247 17.2637 52.7529 18.7598 51.8525 C +18.3057 53.5137 18.3027 55.1147 18.623 56.8149 C +16.7725 56.6748 15.2129 56.8887 14.1826 58.377 C +15.0117 58.6035 17.2725 58.6626 18.1465 57.731 C +18.4736 58.7129 19.3691 60.1187 20.8145 60.8125 C +19.375 61.0728 18.3896 62.1719 17.4805 63.8579 C +16.7676 62.4429 14.541 60.7769 13.0371 60.7227 C +15.041 64.7856 15.041 67.7046 13.5195 70.3916 C +f
41.2324 64.4824 m +41.5518 65.1113 41.7549 65.3682 V +44.1523 63.4272 48.958 66.7354 49.8535 67.5034 C +49.7432 68.1362 47.6182 69.2725 45.9004 68.2422 C +46.3408 69.5313 45.4395 71.4922 44.2402 72.5342 C +45.9805 72.4341 48.126 73.7954 48.6484 74.5371 C +48.8701 73.5601 50.0527 72.29 51.3379 71.2754 C +51.6895 72.249 50.9941 74.3662 50.0781 75.9683 C +51.3125 76.4692 52.4248 77.3994 52.8828 78.6582 C +53.3398 77.3423 54.3428 76.667 55.6875 75.9111 C +54.5273 74.4844 53.7471 72.3101 54.0273 71.4473 C +55.3496 71.7822 56.9209 74.5 57.0439 75.5903 C +57.9189 74.8232 59.4727 74.1372 62.0537 73.8311 C +60.3535 72.7534 59.9902 70.7612 59.4063 69.3301 C +58.2588 69.7773 56.0898 69.8364 55.1152 69.2725 C +55.8281 68.6934 57.168 68.1431 59.1777 68.1284 C +59.1777 66.583 59.6406 65.4512 60.8945 64.2373 C +59.1719 64.249 57.0723 63.7632 55.5762 63.3721 C +55.3281 64.7002 54.4844 66.2974 53.3398 66.6973 C +53.334 65.8364 53.5996 63.5874 54.4844 62.9214 C +53.6201 62.353 52.3672 60.9751 51.9102 59.2583 C +51.2881 60.583 50.4268 61.8882 48.5645 62.333 C +49.749 63.3862 50.584 65.4033 50.25 66.8691 C +45.1973 62.8872 42.5215 64.1851 41.2324 64.4824 C +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 +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginBrushPattern +(New Pattern 1) +0 A +u
1 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7834.75 8587 m +-7834.75 8563 L +-7884.75 8563 L +-7884.75 8587 L +-7834.75 8587 L +n
u
0 Ap +0 O +1 g +-7854.75 8585 m +-7866.96 8588.0527 -7875.4434 8578.0605 -7884.75 8570.9512 C +F
-7844.75 8585 m +-7861.1279 8589.0947 -7870.8008 8569.7227 -7884.75 8565.3154 C +F
-7884.75 8565 m +-7864.75 8560 -7854.75 8590 -7834.75 8585 C +F
-7874.75 8565 m +-7858.3721 8560.9053 -7848.6992 8580.2773 -7834.75 8584.6846 C +F
-7864.75 8565 m +-7852.54 8561.9473 -7844.0566 8571.9395 -7834.75 8579.0488 C +F
-7844.75 8565 m +-7841.1279 8564.0947 -7837.835 8564.3408 -7834.75 8565.3154 C +F
-7874.75 8585 m +-7878.3721 8585.9053 -7881.665 8585.6592 -7884.75 8584.6846 C +F
-7844.7817 8565.125 m +-7850.9009 8563.6162 -7854.7817 8565.125 V +-7858.877 8563.6484 -7864.7817 8565.125 V +-7869.7446 8563.4492 -7874.7817 8565.125 V +-7880.7969 8563.5742 -7884.7817 8565.125 V +-7884.7817 8584.8096 L +-7881.6958 8585.7842 -7878.2969 8585.9912 -7874.3799 8584.9082 C +-7868.2134 8586.4912 -7864.4634 8584.9082 V +-7859.4634 8586.4912 -7854.3799 8584.8242 V +-7850.0474 8586.4082 -7844.3799 8584.9082 V +-7838.8799 8586.3242 -7834.7817 8585.125 V +-7834.7817 8565.4404 L +-7837.5254 8564.4287 -7840.6514 8563.9287 -7844.7817 8565.125 C +f
0 R +0 G +1 J 1 j 0.5 w
-7864.75 8585 m +-7872.54 8586.9473 -7878.813 8583.585 -7884.75 8579.0488 C +S
-7854.75 8585 m +-7866.96 8588.0527 -7875.4434 8578.0605 -7884.75 8570.9512 C +S
-7844.75 8585 m +-7861.1279 8589.0947 -7870.8008 8569.7227 -7884.75 8565.3154 C +S
-7884.75 8565 m +-7864.75 8560 -7854.75 8590 -7834.75 8585 C +S
-7874.75 8565 m +-7858.3721 8560.9053 -7848.6992 8580.2773 -7834.75 8584.6846 C +S
-7864.75 8565 m +-7852.54 8561.9473 -7844.0566 8571.9395 -7834.75 8579.0488 C +S
-7854.75 8565 m +-7846.96 8563.0527 -7840.687 8566.415 -7834.75 8570.9512 C +S
-7844.75 8565 m +-7841.1279 8564.0947 -7837.835 8564.3408 -7834.75 8565.3154 C +S
-7874.75 8585 m +-7878.3721 8585.9053 -7881.665 8585.6592 -7884.75 8584.6846 C +S
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 2) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884 8586 m +-7819.187 8586 L +-7819.187 8521.9023 L +-7884 8521.9023 L +-7884 8586 L +n
u
0 O +0 g +-7849.6978 8544.4297 m +-7851.6094 8521.9023 L +-7853.5215 8544.4297 L +-7852.9033 8544.3066 -7852.2642 8544.2402 -7851.6094 8544.2402 c +-7850.9551 8544.2402 -7850.3159 8544.3066 -7849.6978 8544.4297 C +f
-7861.2402 8552.3975 m +-7884 8554.3301 L +-7861.1138 8556.2734 L +-7861.2856 8555.5469 -7861.3848 8554.793 -7861.3848 8554.0156 c +-7861.3848 8553.4629 -7861.3281 8552.9248 -7861.2402 8552.3975 C +f
-7856.519 8545.5723 m +-7870.1626 8536.8047 L +-7860.2153 8549.377 L +-7859.3574 8547.791 -7858.0718 8546.4766 -7856.519 8545.5723 C +f
-7853.481 8563.6074 m +-7851.5786 8586 L +-7849.6768 8563.5967 L +-7850.3018 8563.7227 -7850.9473 8563.791 -7851.6094 8563.791 c +-7852.25 8563.791 -7852.873 8563.7246 -7853.481 8563.6074 C +f
-7841.9609 8555.5068 m +-7819.187 8553.5732 L +-7842.083 8551.6289 L +-7842.083 8551.8506 L +-7841.9258 8552.5488 -7841.834 8553.2695 -7841.834 8554.0156 c +-7841.834 8554.5234 -7841.8848 8555.0195 -7841.9609 8555.5068 C +f
-7860.1138 8558.8262 m +-7870.1641 8571.5293 L +-7856.2778 8562.6055 L +-7857.8823 8561.7305 -7859.2114 8560.416 -7860.1138 8558.8262 C +f
-7842.9961 8549.3945 m +-7832.875 8536.6055 L +-7846.7666 8545.5313 L +-7845.1768 8546.4414 -7843.8633 8547.7793 -7842.9961 8549.3945 C +f
-7846.6895 8562.4512 m +-7832.873 8571.3281 L +-7842.9658 8558.5732 L +-7843.8198 8560.1895 -7845.1152 8561.5313 -7846.6895 8562.4512 C +f
-7842.8887 8558.6133 m +-7842.3862 8557.6641 -7842.043 8556.6211 -7841.875 8555.5195 c +-7841.7993 8555.0293 -7841.748 8554.5273 -7841.748 8554.0156 c +-7841.748 8553.2637 -7841.8398 8552.5352 -7841.998 8551.8311 c +-7842.1958 8550.957 -7842.5049 8550.124 -7842.918 8549.3545 c +-7843.7954 8547.7246 -7845.1191 8546.374 -7846.7241 8545.4561 c +-7847.6294 8544.9375 -7848.6226 8544.5537 -7849.6802 8544.3457 c +-7850.3047 8544.2207 -7850.9497 8544.1523 -7851.6094 8544.1523 c +-7852.2695 8544.1523 -7852.915 8544.2207 -7853.5391 8544.3457 c +-7854.623 8544.5605 -7855.6382 8544.957 -7856.5625 8545.4961 c +-7858.1313 8546.4102 -7859.4282 8547.7363 -7860.291 8549.335 c +-7860.7969 8550.2695 -7861.145 8551.2969 -7861.3262 8552.3828 c +-7861.415 8552.916 -7861.4727 8553.459 -7861.4727 8554.0156 c +-7861.4727 8554.8008 -7861.3711 8555.5605 -7861.1978 8556.293 c +-7860.981 8557.207 -7860.6406 8558.0732 -7860.187 8558.8701 c +-7859.2793 8560.4727 -7857.939 8561.8008 -7856.3174 8562.6826 c +-7855.4487 8563.1553 -7854.5 8563.498 -7853.4961 8563.6934 c +-7852.8848 8563.8115 -7852.2554 8563.8779 -7851.6094 8563.8779 c +-7850.9414 8563.8779 -7850.29 8563.8086 -7849.6602 8563.6826 c +-7848.5786 8563.4668 -7847.5664 8563.0654 -7846.6455 8562.5273 c +-7845.0566 8561.5977 -7843.751 8560.2441 -7842.8887 8558.6133 c +f
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 3) +0 A +u
1 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7874.75 8587 m +-7874.75 8563 L +-7884.75 8563 L +-7884.75 8587 L +-7874.75 8587 L +n
u
u
0 Ap +0 O +1 g +-7875.4058 8578.5361 m +-7874.9878 8577.4355 -7874.75 8576.2471 -7874.75 8575 c +-7874.75 8573.1377 -7875.2681 8571.4004 -7876.1543 8569.9072 c +-7877.897 8566.9736 -7881.0898 8565 -7884.75 8565 C +-7884.75 8585 L +-7884.4297 8585 -7884.1143 8584.9814 -7883.8018 8584.9521 c +-7881.9121 8584.7754 -7880.1807 8584.0645 -7878.7441 8582.9824 c +-7877.2471 8581.8545 -7876.0801 8580.3184 -7875.4058 8578.5361 c +f
0 R +0 G +1 J 1 j 0.5 w
-7884.75 8565.3174 m +-7881.7207 8566.2744 -7878.8926 8567.9326 -7876.1543 8569.9072 C +S
-7884.75 8570.9512 m +-7881.5991 8573.3564 -7878.543 8576.0869 -7875.4058 8578.5361 C +S
-7878.7441 8582.9824 m +-7880.8105 8581.8916 -7882.7993 8580.5342 -7884.75 8579.043 C +S
-7883.8018 8584.9521 m +-7884.1191 8584.8682 -7884.4375 8584.7852 -7884.75 8584.6865 C +S
-7878.7441 8582.9824 m +-7880.1807 8584.0645 -7881.9121 8584.7744 -7883.8018 8584.9521 C +S
-7875.4058 8578.5361 m +-7874.9878 8577.4355 -7874.75 8576.2471 -7874.75 8575 c +-7874.75 8573.1377 -7875.2681 8571.4004 -7876.1543 8569.9072 C +S
-7884.75 8585 m +-7884.4297 8585 -7884.1143 8584.9814 -7883.8018 8584.9521 C +S
-7878.7441 8582.9824 m +-7877.2471 8581.8545 -7876.0801 8580.3184 -7875.4058 8578.5361 C +S
-7876.1543 8569.9072 m +-7877.8975 8566.9736 -7881.0898 8565 -7884.75 8565 C +S
U
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 5) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7726.3994 8587 m +-7726.3994 8573.4199 L +-7885 8573.4199 L +-7885 8587 L +-7726.3994 8587 L +n
u
u
0 O +0.285 0.228 0.171 0 k +-7741.0786 8585.4844 m +-7741.043 8586.6895 L +-7727.5103 8587.5176 -7726.8418 8586.2822 v +-7726.7441 8586.1016 -7726.647 8585.7148 -7726.561 8585.1934 C +-7728.584 8585.8242 -7738.291 8585.5713 -7741.0786 8585.4844 C +f
0.44 0.352 0.264 0 k +-7741.4063 8574.0234 m +-7741.3711 8575.2676 L +-7738.4912 8575.0488 -7728.1914 8574.3164 -7726.543 8574.8652 C +-7726.7031 8574.2188 -7726.9199 8573.7646 -7727.2046 8573.6152 c +-7728.8306 8572.7656 -7741.4063 8574.0234 Y +f
0.145 0.116 0.087 0 k +-7741.3711 8575.2676 m +-7741.0786 8585.4844 L +-7738.291 8585.5713 -7728.584 8585.8242 -7726.561 8585.1934 C +-7726.1519 8582.7773 -7725.9258 8577.3604 -7726.543 8574.8652 C +-7728.1914 8574.3164 -7738.4912 8575.0488 -7741.3711 8575.2676 C +f
U
u
0.155 0.124 0.093 0 k +-7766.9375 8579.2734 m +-7765.897 8579.6563 L +-7747.0728 8575.1465 L +-7747.481 8574.3145 L +-7766.3633 8576.7246 L +-7767.252 8577.0059 L +-7767.6504 8576.8936 -7768.1934 8576.8242 V +-7767.6094 8577.2373 -7767.1426 8578.1406 -7766.9375 8579.2734 C +f
u
0.085 0.068 0.051 0 k +-7771.7993 8583.666 m +-7772.5977 8583.7217 -7769.749 8583.6641 Y +-7770.3481 8583.0176 -7770.771 8581.8203 -7770.8105 8580.4375 c +-7770.8169 8580.2246 -7770.8105 8580.0176 -7770.7993 8579.8135 C +-7771.041 8579.707 -7771.0918 8579.7734 -7771.6289 8579.5645 C +-7771 8583.6113 -7771.7993 8583.666 v +f
0.305 0.244 0.183 0 k +-7770.3442 8576.8672 m +-7770.5527 8576.8105 -7770.4937 8578.9307 Y +-7769.4785 8579.7588 L +-7767.8359 8578.9434 L +-7766.9375 8579.2734 L +-7767.1426 8578.1406 -7767.6094 8577.2373 -7768.1934 8576.8242 C +-7768.6094 8576.7715 -7769.874 8576.7998 -7770.3442 8576.8672 C +f
U
0.115 0.092 0.069 0 k +-7766.9375 8579.2734 m +-7767.8359 8578.9434 L +-7769.4785 8579.7588 L +-7770.4937 8578.9307 L +-7770.793 8579.708 -7770.7993 8579.8135 V +-7769.5137 8580.3789 -7768.1831 8580.7402 -7766.8398 8580.9258 C +-7766.79 8580.7275 -7766.7842 8580.543 -7766.79 8580.3369 c +-7766.7998 8579.9717 -7766.8218 8579.6182 -7766.9375 8579.2734 C +f
0.41 0.328 0.246 0 k +-7747.4512 8575.3965 m +-7749.377 8576.6426 -7758.3862 8582.0986 -7766.8398 8580.9258 C +-7766.9038 8582.0928 -7767.248 8583.0908 -7767.75 8583.6631 C +-7767.1895 8583.6621 L +-7746.7402 8586.7559 L +-7747.0366 8576.4258 L +-7747.0728 8575.1465 L +-7747.2046 8575.2373 -7747.4512 8575.3965 v +f
0.395 0.316 0.237 0 k +-7770.8105 8580.4375 m +-7770.771 8581.8203 -7770.3481 8583.0176 -7769.749 8583.6641 C +-7767.6807 8583.6631 L +-7767.1782 8583.0908 -7766.8218 8582.0713 -7766.8398 8580.9258 C +-7768.1831 8580.7402 -7769.5137 8580.3789 -7770.7993 8579.8135 C +-7770.8105 8580.0176 -7770.8169 8580.2246 -7770.8105 8580.4375 c +f
U
u
0 0 0 0.11 k +-7741.2642 8574.2012 m +-7740.2407 8574.0352 L +-7741.2642 8574.2012 L +-7741.2642 8574.2012 L +f
0 0 0 0.34 k +-7747.481 8574.3145 m +-7747.0728 8575.1465 L +-7745.6714 8574.918 L +-7744.5234 8574.7314 L +-7742.6758 8574.4307 L +-7741.2642 8574.2012 L +-7740.2407 8574.0352 L +-7740.2954 8573.7168 -7740.3672 8573.498 -7740.4648 8573.4199 C +-7747.481 8574.3145 L +f
0 0 0 0.32 k +-7745.8042 8579.207 m +-7746.041 8586.8613 L +-7740.7144 8587 L +-7739.7266 8583.5146 -7740.1816 8579.1543 V +-7745.8042 8579.207 L +f
U
0.025 0.02 0.015 0 k +-7739.3223 8576.3848 m +-7736.373 8576.9199 -7733.2402 8577.1602 -7730.3159 8576.3613 c +-7730.2856 8576.3496 -7730.2754 8576.3184 -7730.2871 8576.2969 c +-7730.2881 8576.2656 -7730.3198 8576.2559 -7730.3418 8576.2559 c +-7733.2422 8577.0645 -7736.375 8576.8242 -7739.3042 8576.2783 c +-7739.3262 8576.2793 -7739.3574 8576.291 -7739.3672 8576.3223 c +-7739.3662 8576.3438 -7739.355 8576.375 -7739.3223 8576.3848 c +-7739.3223 8576.3848 l +f
-7737.8374 8575.3076 m +-7737.7295 8575.3789 -7737.6313 8575.4941 -7737.5234 8575.502 c +-7733.7886 8575.832 -7730.1631 8575.7813 -7726.4746 8575.6641 c +-7726.4526 8575.6641 -7726.4209 8575.6426 -7726.4214 8575.6211 c +-7726.4214 8575.5879 -7726.4551 8575.5684 -7726.4766 8575.5684 c +-7729.3223 8575.6816 -7732.1401 8575.6992 -7735.0039 8575.5352 c +-7735.9336 8575.4766 -7736.9082 8575.7402 -7737.7778 8575.2207 c +-7737.7993 8575.2109 -7737.8306 8575.2109 -7737.8506 8575.2334 c +-7737.8618 8575.2559 -7737.8594 8575.2871 -7737.8374 8575.3076 c +-7737.8374 8575.3076 l +f
-7733.373 8577.3672 m +-7731.5098 8578.6797 -7729.3022 8579.374 -7727.1001 8579.8867 c +-7727.0679 8579.8965 -7727.0474 8579.8848 -7727.0366 8579.8535 c +-7727.0273 8579.8203 -7727.0488 8579.8008 -7727.0703 8579.79 c +-7729.2617 8579.2656 -7731.459 8578.6035 -7733.3105 8577.2803 c +-7733.3433 8577.2598 -7733.375 8577.2715 -7733.3848 8577.293 c +-7733.4058 8577.3145 -7733.3945 8577.3457 -7733.373 8577.3672 c +-7733.373 8577.3672 l +f
-7738.9321 8584.0566 m +-7736.7295 8584.5703 -7734.5298 8585.0303 -7732.2798 8585.2754 c +-7732.2598 8585.2852 -7732.229 8585.2637 -7732.229 8585.2422 c +-7732.2183 8585.209 -7732.2407 8585.1777 -7732.2729 8585.1787 c +-7734.5122 8584.8809 -7736.7305 8584.5176 -7738.9126 8583.9502 c +-7738.9351 8583.9512 -7738.9673 8583.9629 -7738.9766 8583.9941 c +-7738.9751 8584.0156 -7738.9648 8584.0479 -7738.9321 8584.0566 c +-7738.9321 8584.0566 l +f
-7738.439 8583.3604 m +-7736.3457 8584.1973 -7734.1016 8583.9297 -7731.9023 8583.9629 c +-7731.8706 8583.9609 -7731.8496 8583.9395 -7731.8506 8583.9082 c +-7731.8521 8583.875 -7731.873 8583.8555 -7731.8945 8583.8555 c +-7734.0928 8583.8438 -7736.3374 8584.0996 -7738.4209 8583.2529 c +-7738.4434 8583.2539 -7738.4746 8583.2656 -7738.4834 8583.2969 c +-7738.4834 8583.3184 -7738.4722 8583.3506 -7738.439 8583.3604 c +-7738.439 8583.3604 l +f
-7737.707 8584.7051 m +-7736.3833 8584.752 -7735.1504 8584.5469 -7733.8271 8584.209 c +-7733.3594 8584.0996 -7732.9199 8584.2266 -7732.4609 8584.2129 c +-7731.897 8584.1973 l +-7731.874 8584.1963 -7731.8633 8584.1855 -7731.8535 8584.1738 c +-7731.834 8584.1523 -7731.8442 8584.1211 -7731.8662 8584.0996 c +-7732.0625 8583.9453 l +-7732.0742 8583.9453 -7732.085 8583.9355 -7732.0962 8583.9355 c +-7732.5 8583.9473 l +-7733.9551 8584.1914 -7735.457 8584.6719 -7736.8926 8584.0742 c +-7736.9258 8584.0645 -7736.957 8584.0859 -7736.9673 8584.1074 c +-7736.9673 8584.1396 -7736.9551 8584.1602 -7736.9336 8584.1709 c +-7735.647 8584.6992 -7734.1714 8584.4756 -7732.8818 8584.0547 c +-7732.0918 8584.043 L +-7732.124 8584.0332 L +-7731.9282 8584.1875 L +-7731.8984 8584.0898 L +-7732.4639 8584.1064 l +-7732.9321 8584.1406 -7733.3848 8583.9834 -7733.8398 8584.1035 c +-7735.1543 8584.4609 -7736.3975 8584.625 -7737.71 8584.5986 c +-7737.7422 8584.5996 -7737.7642 8584.6211 -7737.7617 8584.6533 c +-7737.7617 8584.6855 -7737.7402 8584.7061 -7737.707 8584.7051 c +-7737.707 8584.7051 l +f
-7738.5718 8585.0605 m +-7735.8711 8586.2207 -7732.9023 8585.5703 -7730.1279 8585.1816 c +-7729.7832 8585.2891 l +-7729.7617 8585.2988 -7729.7417 8585.2871 -7729.7207 8585.2656 c +-7729.71 8585.2441 -7729.7217 8585.2129 -7729.7422 8585.2021 c +-7730.0801 8585.0098 l +-7732.7754 8584.3926 -7735.5391 8584.7813 -7738.271 8584.7852 c +-7738.3022 8584.7871 -7738.3232 8584.8086 -7738.3223 8584.8398 c +-7738.3198 8584.8721 -7738.2983 8584.8926 -7738.2681 8584.8926 c +-7735.6738 8584.9355 -7733.0303 8584.4434 -7730.4727 8585.0742 c +-7729.7954 8585.2891 L +-7729.7534 8585.1914 L +-7730.1406 8585.0859 l +-7732.9058 8585.4424 -7735.8418 8586.1348 -7738.5313 8584.9746 c +-7738.5537 8584.9648 -7738.585 8584.9648 -7738.5962 8584.998 c +-7738.6055 8585.0195 -7738.605 8585.0508 -7738.5718 8585.0605 c +-7738.5718 8585.0605 l +f
-7735.6895 8578.3945 m +-7734.3945 8578.9004 -7732.9834 8578.6465 -7731.6802 8578.3438 c +-7731.647 8578.3418 -7731.6367 8578.3203 -7731.6382 8578.2891 c +-7731.6504 8578.2568 -7731.6714 8578.2461 -7731.7031 8578.248 c +-7732.998 8578.5303 -7734.377 8578.8154 -7735.6504 8578.2969 c +-7735.6826 8578.2871 -7735.7144 8578.2988 -7735.7246 8578.3311 c +-7735.7222 8578.3525 -7735.7114 8578.3848 -7735.6895 8578.3945 c +-7735.6895 8578.3945 l +f
-7736.1401 8580.2207 m +-7734.2266 8580.6895 -7732.3145 8581.1035 -7730.355 8581.3242 c +-7730.3242 8581.334 -7730.3022 8581.3125 -7730.293 8581.2803 c +-7730.2954 8581.2598 -7730.3159 8581.2285 -7730.3374 8581.2285 c +-7732.2959 8581.0078 -7734.209 8580.582 -7736.1206 8580.1133 c +-7736.1426 8580.1152 -7736.1738 8580.126 -7736.1831 8580.1582 c +-7736.1831 8580.1797 -7736.1719 8580.2109 -7736.1401 8580.2207 c +-7736.1401 8580.2207 l +f
-7736.9336 8582.6348 m +-7734.499 8583.4609 -7731.8647 8583.0547 -7729.3457 8583.0879 c +-7729.313 8583.0879 -7729.293 8583.0664 -7729.293 8583.0332 c +-7729.2954 8583.0117 -7729.3159 8582.9922 -7729.3481 8582.9922 c +-7731.8574 8582.916 -7734.481 8583.3848 -7736.8945 8582.5264 c +-7736.9282 8582.5273 -7736.959 8582.5391 -7736.9688 8582.5605 c +-7736.9678 8582.5918 -7736.9561 8582.624 -7736.9336 8582.6348 c +-7736.9336 8582.6348 l +f
-7732.0542 8583.8496 m +-7730.6582 8584.5449 -7729.0503 8584.4033 -7727.5342 8584.4668 c +-7727.502 8584.4648 -7727.4824 8584.4434 -7727.4824 8584.4121 c +-7727.4834 8584.3906 -7727.5054 8584.3594 -7727.5366 8584.3594 c +-7729.0137 8584.2207 -7730.6489 8584.5234 -7732.0039 8583.7617 c +-7732.0366 8583.7529 -7732.0679 8583.7637 -7732.0786 8583.7861 c +-7732.0879 8583.8076 -7732.0767 8583.8398 -7732.0542 8583.8496 c +-7732.0542 8583.8496 l +f
-7731.3418 8580.4248 m +-7730.3926 8580.3975 -7729.4336 8580.3701 -7728.4839 8580.3428 c +-7728.4526 8580.3418 -7728.4312 8580.3203 -7728.4336 8580.2881 c +-7728.4336 8580.2559 -7728.4551 8580.2354 -7728.4878 8580.2363 c +-7729.437 8580.2637 -7730.397 8580.291 -7731.3457 8580.3184 c +-7731.377 8580.3184 -7731.3975 8580.3418 -7731.3975 8580.373 c +-7731.397 8580.4043 -7731.374 8580.4258 -7731.3418 8580.4248 c +-7731.3418 8580.4248 l +f
-7729.1592 8578.0361 m +-7728.6895 8578.0645 -7728.209 8578.0723 -7727.7383 8578.0918 c +-7727.7168 8578.0908 -7727.6855 8578.0684 -7727.6865 8578.0371 c +-7727.687 8578.0039 -7727.71 8577.9844 -7727.7417 8577.9844 c +-7728.2114 8577.9873 -7728.6816 8577.9375 -7729.1514 8577.9395 c +-7729.1831 8577.9297 -7729.2031 8577.9512 -7729.2134 8577.9844 c +-7729.2129 8578.0156 -7729.1914 8578.0371 -7729.1592 8578.0361 c +-7729.1592 8578.0361 l +f
-7736.9702 8580.2344 m +-7736.5688 8580.5107 -7736.125 8580.6797 -7735.645 8580.751 c +-7735.6113 8580.7607 -7735.5918 8580.7383 -7735.5806 8580.7168 c +-7735.5703 8580.6855 -7735.5928 8580.6543 -7735.6152 8580.6543 c +-7736.0854 8580.5723 -7736.5176 8580.4023 -7736.9209 8580.1475 c +-7736.9521 8580.1377 -7736.9849 8580.1387 -7736.9946 8580.1709 c +-7737.0039 8580.1934 -7736.9922 8580.2246 -7736.9702 8580.2344 c +-7736.9702 8580.2344 l +f
-7738.1904 8586.085 m +-7735.7344 8586.5273 -7733.2983 8587.001 -7730.7993 8586.7266 c +-7730.7778 8586.7266 -7730.7568 8586.7041 -7730.7578 8586.6719 c +-7730.7578 8586.6406 -7730.7798 8586.6191 -7730.8022 8586.6191 c +-7733.291 8586.873 -7735.7344 8586.4844 -7738.1719 8585.9775 c +-7738.1934 8585.9785 -7738.2256 8585.9902 -7738.2344 8586.0215 c +-7738.2344 8586.043 -7738.2222 8586.0752 -7738.1904 8586.085 c +-7738.1904 8586.085 l +f
0.195 0.156 0.117 0 k +-7738.166 8574.6445 m +-7735.7969 8574.2676 -7733.4058 8574.3477 -7731.0298 8574.5898 c +-7730.998 8574.5879 -7730.9766 8574.5664 -7730.9766 8574.5352 c +-7730.9785 8574.5137 -7731 8574.4824 -7731.0215 8574.4824 c +-7733.4082 8574.2422 -7735.791 8574.1602 -7738.1694 8574.5391 c +-7738.2026 8574.5391 -7738.2222 8574.5605 -7738.2217 8574.5938 c +-7738.2207 8574.625 -7738.1992 8574.6465 -7738.166 8574.6445 c +-7738.166 8574.6445 l +f
0.335 0.268 0.201 0 k +-7737.4351 8574.1113 m +-7734.9282 8574.1152 -7732.4146 8574.2773 -7729.918 8573.8965 c +-7729.8862 8573.8945 -7729.8647 8573.873 -7729.8662 8573.8418 c +-7729.8672 8573.8086 -7729.8896 8573.7891 -7729.9209 8573.7891 c +-7732.418 8574.1699 -7734.9297 8574.0293 -7737.4375 8574.0059 c +-7737.46 8574.0059 -7737.481 8574.0273 -7737.4785 8574.0596 c +-7737.4785 8574.0918 -7737.457 8574.1123 -7737.4351 8574.1113 c +-7737.4351 8574.1113 l +f
0.205 0.164 0.123 0 k +-7738.9766 8574.3262 m +-7737.5039 8574.668 -7736.0078 8574.4023 -7734.5391 8574.2207 c +-7734.5078 8574.2207 -7734.4873 8574.1973 -7734.499 8574.166 c +-7734.5 8574.1348 -7734.5215 8574.1133 -7734.5537 8574.125 c +-7736.0103 8574.2842 -7737.4961 8574.583 -7738.9473 8574.2188 c +-7738.9785 8574.2207 -7739.0103 8574.2324 -7739.0098 8574.2637 c +-7739.019 8574.2852 -7738.998 8574.3164 -7738.9766 8574.3262 c +-7738.9766 8574.3262 l +f
-7732.3535 8573.7949 m +-7731.1978 8573.9219 -7730.0273 8573.8145 -7728.8926 8573.5898 c +-7728.8711 8573.5781 -7728.8506 8573.5566 -7728.8618 8573.5244 c +-7728.8623 8573.5029 -7728.8945 8573.4824 -7728.916 8573.4941 c +-7730.0503 8573.7402 -7731.1914 8573.7939 -7732.3462 8573.6885 c +-7732.3794 8573.6895 -7732.3984 8573.7109 -7732.4087 8573.7324 c +-7732.4082 8573.7646 -7732.3862 8573.7852 -7732.3535 8573.7949 c +-7732.3535 8573.7949 l +f
0.335 0.268 0.201 0 k +-7739.2681 8576.4473 m +-7737.9214 8577.1885 -7736.3066 8576.5977 -7734.855 8576.6416 c +-7734.8223 8576.6406 -7734.8022 8576.6191 -7734.8022 8576.5859 c +-7734.8042 8576.5654 -7734.8262 8576.5449 -7734.8574 8576.5449 c +-7736.2886 8576.4902 -7737.8823 8577.0801 -7739.2168 8576.3506 c +-7739.2383 8576.3398 -7739.2695 8576.3516 -7739.291 8576.374 c +-7739.3008 8576.3955 -7739.2886 8576.4277 -7739.2681 8576.4473 c +-7739.2681 8576.4473 l +f
-7737.8945 8578.5645 m +-7735.6719 8579.0449 -7733.3896 8578.6162 -7731.1504 8578.5625 c +-7731.1177 8578.5615 -7731.0977 8578.5391 -7731.0977 8578.5078 c +-7731.1001 8578.4863 -7731.1318 8578.4668 -7731.1519 8578.4668 c +-7733.3833 8578.4775 -7735.6519 8578.9805 -7737.875 8578.457 c +-7737.8975 8578.457 -7737.9287 8578.4688 -7737.9375 8578.502 c +-7737.9375 8578.5225 -7737.9258 8578.5547 -7737.8945 8578.5645 c +-7737.8945 8578.5645 l +f
-7732.0273 8575.1406 m +-7730.3496 8575.9688 -7728.499 8576.502 -7726.603 8576.3613 c +-7726.5718 8576.3613 -7726.5513 8576.3389 -7726.5527 8576.3066 c +-7726.5527 8576.2754 -7726.5742 8576.2539 -7726.6074 8576.2559 c +-7728.481 8576.416 -7730.3198 8575.8604 -7731.9873 8575.0547 c +-7732.0078 8575.0449 -7732.041 8575.0449 -7732.0503 8575.0781 c +-7732.061 8575.0996 -7732.061 8575.1309 -7732.0273 8575.1406 c +-7732.0273 8575.1406 l +f
u
0.5 0.85 1 0.45 k +-7885 8581.9082 m +-7885.0254 8582.4883 -7884.5664 8583.1875 -7883.167 8583.9902 C +-7882.8521 8584.0029 -7881.3945 8584.0234 -7879.0889 8584.0488 C +-7879.0889 8581.8223 L +-7881.1382 8581.8457 -7883.1177 8581.8867 -7885 8581.9082 C +f
-7884.5088 8580.9688 m +-7879.0889 8580.8447 L +-7879.0889 8579.8145 L +-7882.644 8579.959 L +-7883.8145 8580.3301 -7884.5088 8580.9688 V +f
0.5 0.85 1 0.32 k +-7879.0889 8580.8252 m +-7884.4746 8580.9434 L +-7884.7695 8581.2148 -7884.9849 8581.5566 -7885 8581.9277 C +-7883.1177 8581.9063 -7881.1382 8581.8848 -7879.0889 8581.8613 C +-7879.0889 8580.8252 L +f
0.5 0.85 1 0.45 k +-7774.1504 8580.6172 m +-7852.3584 8581.541 -7879.1079 8581.8418 V +-7879.1079 8584.0488 L +-7862.8145 8584.2324 -7803.9902 8584.707 Y +-7769.749 8583.6641 L +-7770.457 8580.5684 L +-7774.1504 8580.6172 L +f
0.5 0.85 1 0.12 k +-7879.1079 8579.8145 m +-7879.1079 8580.8447 L +-7770.4258 8579 L +-7770.3833 8576.8633 L +-7803.6553 8576.7129 L +-7879.1079 8579.8145 L +f
u
0.065 0.052 0.039 0 k +-7747.0728 8575.1465 m +-7747.0366 8576.4258 L +-7747.2954 8575.1172 L +-7765.897 8579.6563 L +-7766.9375 8579.2734 L +-7766.8794 8579.6055 -7766.8398 8579.957 -7766.8306 8580.3223 c +-7766.8242 8580.5283 -7766.8281 8580.7285 -7766.8398 8580.9258 C +-7758.3862 8582.0986 -7748.9634 8577.6719 -7747.0366 8576.4258 C +-7746.7402 8586.7559 L +-7746.041 8586.8613 L +-7745.8042 8579.207 L +-7740.1816 8579.1543 L +-7740.0898 8577.0137 -7740.0718 8575.0215 -7740.2407 8574.0352 C +-7747.0728 8575.1465 L +f
0.4 0.7 1 0 k +-7770.457 8580.5879 m +-7770.4258 8578.9805 L +-7879.1079 8580.8252 L +-7879.1079 8581.8613 L +-7852.3584 8581.5605 -7770.457 8580.5879 Y +f
U
U
0.025 0.02 0.015 0 k +-7734.7344 8583.0293 m +-7734.7344 8583.0625 -7734.7129 8583.082 -7734.6802 8583.082 c +-7731.6714 8583.1133 -7729.4214 8582.9453 -7726.415 8582.8594 C +-7726.4087 8582.7656 L +-7729.3262 8582.8701 -7731.7607 8583.0078 -7734.6841 8582.9746 C +-7734.7168 8582.9766 -7734.7358 8582.998 -7734.7344 8583.0293 C +f
-7726.3994 8582.7656 m +-7726.4082 8582.7441 L +-7726.4087 8582.7656 L +-7726.4063 8582.7656 -7726.4033 8582.7656 -7726.3994 8582.7656 C +f
-7730.4487 8581.4238 m +-7731.4458 8581.292 -7732.3394 8581.7656 -7733.2114 8582.1973 C +-7733.2441 8582.208 -7733.2534 8582.2402 -7733.2422 8582.2715 C +-7733.2305 8582.293 -7733.1982 8582.3027 -7733.1777 8582.291 c +-7732.3262 8581.8301 -7731.4312 8581.4199 -7730.4678 8581.5195 c +-7729.1079 8581.6621 -7727.9038 8582.375 -7726.5254 8582.4531 C +-7726.4463 8582.3594 L +-7728.04 8582.2656 -7728.8647 8581.623 -7730.4487 8581.4238 c +f
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 6) +0 A +u
1 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884.75 8563 m +-7884.75 8587 L +-7874.75 8587 L +-7874.75 8563 L +-7884.75 8563 L +n
0 Ap +0 O +1 g +-7874.75 8565 m +-7875.0703 8565 -7875.3857 8565.0186 -7875.6982 8565.0479 c +-7877.5879 8565.2256 -7879.3198 8565.9346 -7880.7559 8567.0176 c +-7882.2529 8568.1465 -7883.4199 8569.6816 -7884.0942 8571.4639 c +-7884.5122 8572.5645 -7884.75 8573.7529 -7884.75 8575 c +-7884.75 8576.8623 -7884.2319 8578.5996 -7883.3457 8580.0918 c +-7881.6025 8583.0273 -7878.4102 8585 -7874.75 8585 C +-7874.75 8565 L +f
0 R +0 G +1 J 1 j 0.5 w
-7874.75 8584.6816 m +-7877.7793 8583.7256 -7880.6074 8582.0674 -7883.3457 8580.0918 C +S
-7874.75 8579.0488 m +-7877.8999 8576.6436 -7880.957 8573.9131 -7884.0942 8571.4639 C +S
-7880.7559 8567.0176 m +-7878.6904 8568.1084 -7876.7017 8569.4668 -7874.75 8570.957 C +S
-7875.6982 8565.0479 m +-7875.3809 8565.1309 -7875.063 8565.2148 -7874.75 8565.3145 C +S
-7880.7559 8567.0176 m +-7879.3193 8565.9355 -7877.5879 8565.2256 -7875.6982 8565.0479 C +S
-7884.0942 8571.4639 m +-7884.5122 8572.5645 -7884.75 8573.7529 -7884.75 8575 c +-7884.75 8576.8623 -7884.231 8578.5996 -7883.3457 8580.0918 C +S
-7874.75 8565 m +-7875.0703 8565 -7875.3857 8565.0186 -7875.6982 8565.0479 C +S
-7880.7559 8567.0176 m +-7882.2529 8568.1465 -7883.4199 8569.6816 -7884.0942 8571.4639 C +S
-7883.3457 8580.0918 m +-7881.6025 8583.0273 -7878.4102 8585 -7874.75 8585 C +S
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 8) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7883.9521 8584.3125 m +-7776.7954 8584.3125 L +-7776.7954 8570.1855 L +-7883.9521 8570.1855 L +-7883.9521 8584.3125 L +n
u
0 O +0 0 0 1 k +-7882.2832 8583.623 m +-7882.8535 8586 -7882.8184 8582.0039 V +-7883.0479 8578.8027 L +-7883.6167 8576.4551 L +-7883.4502 8574.123 L +-7881.9502 8573.4551 -7865.2832 8572.123 V +-7858.6167 8570.7891 -7849.6167 8570.7891 V +-7784.3936 8571.4766 -7779.4912 8572.8848 v +-7820.3882 8570.875 -7822.9688 8571.5117 v +-7783.8569 8573.1602 -7780.8545 8574.4316 v +-7818.79 8572.5469 -7822.167 8574.1777 v +-7787.249 8575.9102 -7783.021 8577.5313 v +-7789.7217 8576.8828 -7791.5127 8577.082 v +-7788.3896 8577.5703 l +-7793.4194 8577.502 l +-7796.3218 8577.1289 l +-7788.4521 8578.2422 -7787.9033 8578.8086 v +-7784.3154 8578.1309 -7798.5186 8578.3848 v +-7832.1177 8574.4551 -7882.2832 8583.623 V +f
/BBAccumRotation (5.805971) XT +0 R +0 0 0 0.5 K +0.025 w
-7883.9502 8573.123 m +-7863.667 8571.2949 -7843.9727 8570.2207 v +-7801.1514 8570.502 -7796.5737 8570.9004 v +-7784.1631 8571.0313 -7776.7959 8572.0273 v +S
/BBAccumRotation (5.805971) XT +0 0 0 1 K +-7821.8369 8570.4082 m +-7825.2959 8570.0273 -7851.2607 8570.2793 Y +-7861.627 8570.1602 -7883.9502 8573.123 Y +S
/BBAccumRotation (5.805971) XT +-7820.9873 8573.6641 m +-7790.3608 8574.582 -7783.6606 8575.2324 v +S
/BBAccumRotation (5.805971) XT +0 0 0 0.5 K +-7829.6201 8578.2051 m +-7794.3706 8579.6172 -7791.4058 8580.1406 v +S
/BBAccumRotation (5.805971) XT +U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 10) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884 8586 m +-7833.8921 8586 L +-7833.8921 8529.9756 L +-7884 8529.9756 L +-7884 8586 L +n
u
0 O +0.1 1 1 0 k +-7846.9014 8551.5752 m +-7848.7178 8545.0957 -7858.8247 8548.4658 Y +-7858.791 8548.5303 L +-7868.8999 8545.1611 -7870.7144 8551.6396 V +-7876.6758 8569.0068 -7871.4922 8575.7451 V +-7864.7529 8585.3369 -7860.6055 8585.3369 V +-7857.0103 8585.2705 L +-7852.8638 8585.2705 -7846.125 8575.6816 Y +-7840.9409 8568.9424 -7846.9014 8551.5752 Y +f
u
0 0 0 1 k +-7851.3926 8529.9756 m +-7852.1167 8531.4199 -7852.9238 8532.4756 V +-7852.4058 8532.0635 -7851.5151 8531.1924 -7851.3926 8529.9756 C +f
-7865.064 8532.4854 m +-7865.8711 8531.4307 -7866.5942 8529.9863 Y +-7866.4727 8531.2021 -7865.582 8532.0732 -7865.064 8532.4854 C +f
U
0 0.61 0.74 0 k +-7850.5977 8554.4609 m +-7851.9038 8549.7959 -7859.1816 8552.2217 Y +-7859.1567 8552.2686 L +-7866.436 8549.8428 -7867.7417 8554.5078 V +-7872.0337 8567.0117 -7868.3018 8571.8633 V +-7863.4487 8578.7686 -7860.4634 8578.7686 V +-7857.875 8578.7227 L +-7854.8887 8578.7227 -7850.0366 8571.8174 Y +-7846.3042 8566.9639 -7850.5977 8554.4609 Y +f
u
1 Ap +0.73 0.43 1 0.22 k +0 R +0 0 0 1 K +-7854.6226 8557.2754 m +-7853.813 8557.2754 -7853.1558 8556.6182 -7853.1558 8555.8096 c +-7853.1558 8555 -7853.813 8554.3428 -7854.6226 8554.3428 c +-7855.4321 8554.3428 -7856.0889 8555 -7856.0889 8555.8096 c +-7856.0889 8556.6182 -7855.4321 8557.2754 -7854.6226 8557.2754 c +b
-7854.3638 8568.9971 m +-7853.0806 8568.9971 -7852.0415 8568.1201 -7852.0415 8567.042 c +-7852.0415 8565.9619 -7853.0806 8565.0869 -7854.3638 8565.0869 c +-7855.645 8565.0869 -7856.6846 8565.9619 -7856.6846 8567.042 c +-7856.6846 8568.1201 -7855.645 8568.9971 -7854.3638 8568.9971 c +b
-7853.834 8580.7861 m +-7852.2817 8580.7861 -7851.0239 8580.1299 -7851.0239 8579.3213 c +-7851.0239 8578.5117 -7852.2817 8577.8545 -7853.834 8577.8545 c +-7855.3862 8577.8545 -7856.645 8578.5117 -7856.645 8579.3213 c +-7856.645 8580.1299 -7855.3862 8580.7861 -7853.834 8580.7861 c +b
-7849.6104 8552.5264 m +-7848.8687 8552.5264 -7848.2671 8551.8154 -7848.2671 8550.9365 c +-7848.2671 8550.0596 -7848.8687 8549.3477 -7849.6104 8549.3477 c +-7850.353 8549.3477 -7850.9546 8550.0596 -7850.9546 8550.9365 c +-7850.9546 8551.8154 -7850.353 8552.5264 -7849.6104 8552.5264 c +b
-7848.0034 8574.083 m +-7848.8818 8573.7354 -7849.1494 8572.335 -7848.603 8570.9541 c +-7848.0566 8569.5752 -7846.9014 8568.7363 -7846.0234 8569.085 c +-7845.145 8569.4326 -7844.877 8570.833 -7845.4233 8572.2139 c +-7845.9702 8573.5947 -7847.125 8574.4316 -7848.0034 8574.083 c +b
u
-7863.0566 8557.1592 m +-7863.8662 8557.1592 -7864.5239 8556.502 -7864.5239 8555.6934 c +-7864.5239 8554.8828 -7863.8662 8554.2266 -7863.0566 8554.2266 c +-7862.248 8554.2266 -7861.5913 8554.8828 -7861.5913 8555.6934 c +-7861.5913 8556.502 -7862.248 8557.1592 -7863.0566 8557.1592 c +b
-7863.3159 8568.8799 m +-7864.5991 8568.8799 -7865.6382 8568.0049 -7865.6382 8566.9248 c +-7865.6382 8565.8447 -7864.5991 8564.9697 -7863.3159 8564.9697 c +-7862.0342 8564.9697 -7860.9951 8565.8447 -7860.9951 8566.9248 c +-7860.9951 8568.0049 -7862.0342 8568.8799 -7863.3159 8568.8799 c +b
-7863.8457 8580.6709 m +-7865.3975 8580.6709 -7866.6558 8580.0146 -7866.6558 8579.2041 c +-7866.6558 8578.3936 -7865.3975 8577.7383 -7863.8457 8577.7383 c +-7862.293 8577.7383 -7861.0352 8578.3936 -7861.0352 8579.2041 c +-7861.0352 8580.0146 -7862.293 8580.6709 -7863.8457 8580.6709 c +b
-7868.0679 8552.4092 m +-7868.811 8552.4092 -7869.4121 8551.6982 -7869.4121 8550.8213 c +-7869.4121 8549.9443 -7868.811 8549.2334 -7868.0679 8549.2334 c +-7867.3262 8549.2334 -7866.7241 8549.9443 -7866.7241 8550.8213 c +-7866.7241 8551.6982 -7867.3262 8552.4092 -7868.0679 8552.4092 c +b
-7869.6758 8573.9678 m +-7868.7983 8573.6201 -7868.5298 8572.2188 -7869.0762 8570.8379 c +-7869.6226 8569.457 -7870.7778 8568.6201 -7871.6558 8568.9678 c +-7872.5342 8569.3164 -7872.8032 8570.7178 -7872.2568 8572.0967 c +-7871.7104 8573.4775 -7870.5552 8574.3154 -7869.6758 8573.9678 c +b
U
U
0 Ap +0 0 0 1 k +-7859.1318 8552.6553 m +-7859.1318 8585.3145 l +F
u
-7843.3906 8538.5303 m +-7844.0815 8537.8369 -7847.019 8538.7021 Y +-7848.229 8538.874 -7848.0562 8541.2939 Y +-7847.019 8543.3682 -7847.7104 8543.1943 Y +-7848.2998 8543.1943 -7849.855 8543.1143 -7850.7822 8543.0635 C +-7851.1226 8541.6689 -7852.6128 8540.4756 -7854.7217 8539.7695 C +-7852.7578 8536.4775 -7854.5176 8535.7949 -7856.2935 8535.79 C +-7856.3096 8535.7021 -7856.332 8535.6162 -7856.3599 8535.5332 C +-7854.1089 8535.5791 -7853.6392 8533.2588 Y +-7853.4048 8533.0635 -7853.1606 8532.7861 -7852.9238 8532.4756 C +-7853.1416 8532.6475 -7853.2944 8532.7393 Y +-7854.2583 8532.7393 -7855.8774 8534.4941 -7856.4966 8535.207 C +-7856.9194 8534.4434 -7857.853 8533.9111 -7858.9434 8533.9111 c +-7860.0698 8533.9111 -7861.0322 8534.4795 -7861.4312 8535.2852 C +-7861.9985 8534.624 -7863.6968 8532.751 -7864.6943 8532.751 C +-7864.8462 8532.6572 -7865.064 8532.4854 V +-7864.8281 8532.7939 -7864.583 8533.0732 -7864.3481 8533.2686 C +-7863.8638 8535.6563 -7861.5254 8535.5342 V +-7861.5449 8535.5889 -7861.5674 8535.6436 -7861.5806 8535.7021 C +-7864.9238 8535.6924 -7863.937 8538.3174 -7863.2104 8539.6602 C +-7865.5918 8540.376 -7867.2646 8541.7012 -7867.5239 8543.25 C +-7868.4473 8543.2998 -7869.6729 8543.3584 -7870.1802 8543.3584 C +-7870.8726 8543.5313 -7869.835 8541.458 V +-7869.6626 8539.0391 -7870.8726 8538.8662 V +-7873.8096 8538.002 -7874.501 8538.6934 V +-7875.1919 8539.5566 -7876.0562 8538.3467 V +-7875.1919 8540.0752 -7873.291 8539.5566 V +-7870.6982 8538.8662 -7871.3906 8540.5938 V +-7871.9087 8544.0498 -7870.1802 8544.7402 V +-7868.0342 8545.8545 -7866.2822 8546.0889 V +-7865.9087 8546.4141 -7865.4639 8546.7109 -7864.958 8546.9766 C +-7867.5562 8547.0469 -7870.2246 8547.9209 -7871.0752 8550.9561 C +-7871.5151 8552.2432 -7872.0518 8554.2432 V +-7873.1025 8554.8252 -7874.3022 8556.0078 -7875.541 8558.2627 C +-7876.394 8561.4502 -7877.167 8556.7129 V +-7878.3975 8553.6494 -7879.6504 8553.5381 V +-7878.4702 8555.2871 -7878.9038 8556.416 V +-7877.2998 8560.917 -7875.6138 8559.8994 V +-7874.0986 8559.2197 -7872.688 8556.8154 V +-7873.0698 8558.4971 -7873.4326 8560.417 -7873.6743 8562.3906 C +-7874.4888 8562.3975 L +-7876.3506 8561.4795 -7876.3262 8564.959 V +-7877.1226 8568.9453 -7876.3594 8571.6826 V +-7875.647 8574.1504 -7878.1274 8572.9307 V +-7879.2842 8573.3242 -7879.9839 8572.7881 V +-7882.3882 8571.4131 -7884 8573.124 V +-7882.147 8572.8799 -7881.4482 8573.417 V +-7879.9785 8573.5615 -7879.897 8574.1787 V +-7876.9561 8574.8555 -7876.188 8574.0771 V +-7874.417 8573.2139 -7875.1304 8570.3604 V +-7875.8799 8562.4814 -7874.3198 8564.4053 V +-7874.1182 8564.4219 -7873.8784 8564.5176 V +-7874.1519 8568.4326 -7873.8018 8572.3252 -7871.9961 8574.8516 C +-7875.4536 8567.333 -7870.2974 8552.3037 Y +-7868.9609 8547.5303 -7863.127 8548.1016 -7860.145 8548.7344 C +-7860.0718 8550.1299 -7859.8374 8551.9492 -7859.1318 8552.6553 C +-7858.2134 8550.6963 -7858.2358 8549.0732 V +-7857.0762 8548.7217 -7850.2817 8546.8447 -7847.4487 8550.3369 C +-7848.4312 8547.8135 -7850.8262 8547.0186 -7853.2007 8546.9189 C +-7852.667 8546.6318 -7852.2041 8546.3047 -7851.8257 8545.9502 C +-7850.041 8545.7861 -7847.7104 8544.5771 Y +-7845.9814 8543.8857 -7846.5015 8540.4307 Y +-7847.1919 8538.7021 -7844.5991 8539.3936 Y +-7842.7002 8539.9111 -7841.835 8538.1836 Y +-7842.7002 8539.3936 -7843.3906 8538.5303 Y +f
-7837.9082 8572.9521 m +-7838.6074 8573.4893 -7839.7632 8573.0938 Y +-7842.2446 8574.3135 -7841.5327 8571.8467 Y +-7840.769 8569.1104 -7841.564 8565.1221 Y +-7841.541 8561.6445 -7843.4014 8562.5596 Y +-7844.0342 8562.5557 L +-7844.3198 8560.6123 -7844.7046 8558.7549 -7845.0898 8557.1699 C +-7843.7129 8559.4199 -7842.2778 8560.0635 Y +-7840.5913 8561.082 -7838.9878 8556.5791 Y +-7839.4214 8555.4502 -7838.2417 8553.7021 Y +-7839.4937 8553.8125 -7840.7246 8556.876 Y +-7841.4976 8561.6152 -7842.3511 8558.4268 Y +-7843.5776 8556.1904 -7844.769 8555.0098 -7845.814 8554.4229 C +-7846.2026 8553.0635 -7846.4858 8552.2393 Y +-7846.7002 8551.4727 -7847.0337 8550.8486 -7847.4487 8550.3369 C +-7847.3799 8550.5127 -7847.3174 8550.6982 -7847.2632 8550.8916 C +-7841.3022 8568.2588 -7846.4858 8574.9971 V +-7853.2246 8584.5869 -7857.3721 8584.5869 V +-7860.9663 8584.6514 L +-7865.1138 8584.6514 -7871.853 8575.0615 Y +-7871.9038 8574.9961 -7871.9463 8574.9219 -7871.9961 8574.8516 C +-7871.7378 8575.4141 -7871.437 8575.9404 -7871.0752 8576.4092 C +-7864.3359 8586 -7860.189 8586 V +-7856.5942 8585.9346 L +-7852.4482 8585.9346 -7845.709 8576.3447 Y +-7843.5801 8573.5771 -7843.3306 8569.0176 -7843.7769 8564.6055 C +-7843.6553 8564.5752 -7843.5698 8564.5684 Y +-7842.0112 8562.6475 -7842.7598 8570.5244 Y +-7843.4746 8573.3789 -7841.7026 8574.2402 Y +-7840.9351 8575.0186 -7837.9946 8574.3428 Y +-7837.9136 8573.7256 -7836.4434 8573.5811 Y +-7835.7446 8573.0449 -7833.8921 8573.2881 Y +-7835.5024 8571.5771 -7837.9082 8572.9521 Y +f
U
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 34) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884.0254 8586.0264 m +-7828.0542 8586.0264 L +-7828.0542 8524.5342 L +-7884.0254 8524.5342 L +-7884.0254 8586.0264 L +n
u
u
0 O +0.0745 0.9 0.9019 0.18 k +0 R +0 0 0 1 K +1 J 1 j 0.0518 w
-7857.5991 8562.7217 m +-7857.3594 8573.5215 -7862.8794 8583.8398 v +-7862.4009 8586 -7860.959 8586 v +-7861.2002 8582.6406 -7860.2393 8582.1611 v +-7855.9199 8570.1602 -7856.6382 8562.2402 v +-7857.5991 8562.7217 l +b
-7857.5991 8562.7217 m +-7859.2793 8568 -7871.0391 8569.2012 v +-7875.3594 8569.6807 -7875.5991 8571.1211 v +-7869.1206 8561.5195 -7868.1602 8561.7607 v +-7881.3594 8556.001 -7884 8550.7197 v +-7878.959 8553.6006 -7875.5991 8551.4404 v +-7867.6802 8551.2012 -7862.6406 8553.3613 v +-7858.8008 8555.2813 -7866.7202 8539.2012 v +-7862.8794 8550.9609 -7859.2793 8524.5605 v +-7858.3198 8529.8408 -7856.8799 8531.2813 v +-7850.8799 8538.9609 -7851.8398 8541.1211 v +-7852.3198 8544.9609 -7847.7598 8538.7207 v +-7848 8548.3213 -7850.4009 8551.6807 v +-7852.5591 8555.2813 -7846.5591 8553.1211 v +-7840.5591 8551.2012 -7835.2793 8552.8809 v +-7829.7598 8554.3203 -7828.0801 8551.4404 v +-7839.8398 8563.9209 -7845.5991 8563.6807 v +-7843.9194 8567.2813 l +-7841.519 8572.0811 -7842 8573.2813 v +-7857.2681 8563.8828 -7857.5991 8562.7217 v +b
-7857.5991 8562.7217 m +-7854.959 8544.2402 -7857.5991 8536.5605 v +-7859.998 8526.001 -7859.2793 8524.5605 v +S
-7856.1602 8551.4404 m +-7850.1602 8546.6406 -7848.959 8541.3604 v +S
-7856.1602 8550.7197 m +-7865.0391 8543.041 -7866.7202 8539.2012 v +S
-7828.0801 8551.4404 m +-7829.2793 8553.6006 -7857.3594 8561.7607 y +-7862.4009 8556.2422 -7873.9199 8553.8408 v +-7881.5986 8552.8809 -7884 8550.7197 v +S
-7874.6382 8569.6807 m +-7863.1191 8560.5615 -7857.3594 8561.7607 y +-7843.1992 8568 -7842 8573.2813 v +S
U
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 36) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7883.8496 8585.9961 m +-7833.96 8585.9961 L +-7833.96 8534.9258 L +-7883.8496 8534.9258 L +-7883.8496 8585.9961 L +n
u
0 O +0.025 0.1 0.475 0 k +-7862.1504 8553.9043 m +-7864.4766 8552.8125 -7866.6914 8552.4434 -7868.373 8552.9238 c +-7869.0518 8553.1172 -7869.645 8553.4473 -7870.123 8553.9238 c +-7870.6006 8554.4023 -7870.9297 8554.9951 -7871.123 8555.6729 c +-7872.0088 8558.7715 -7870.0103 8563.6777 -7865.9233 8567.7666 c +-7861.834 8571.8535 -7856.9297 8573.8516 -7853.8286 8572.9668 c +-7853.1519 8572.7715 -7852.5586 8572.4424 -7852.0806 8571.9658 c +-7851.603 8571.4883 -7851.2754 8570.8955 -7851.082 8570.2168 c +-7850.5176 8568.2461 -7851.1226 8565.5449 -7852.6855 8562.7891 c +-7853.582 8561.21 -7854.791 8559.6133 -7856.2793 8558.123 c +-7858.1504 8556.2539 -7860.1914 8554.8242 -7862.1504 8553.9043 c +f
u
0.0035 0.014 0.0665 0 k +-7861.2183 8552.9727 m +-7863.8306 8552.0215 -7866.3975 8551.9688 -7868.373 8552.9238 C +-7866.6914 8552.4434 -7864.4766 8552.8125 -7862.1504 8553.9043 c +-7861.6191 8554.1543 -7861.0806 8554.4434 -7860.543 8554.7676 C +-7858.8984 8554.0537 L +-7859.667 8553.6172 -7860.4434 8553.2539 -7861.2183 8552.9727 c +f
0.015 0.06 0.285 0 k +-7858.8984 8554.0537 m +-7860.543 8554.7676 L +-7859.0962 8555.6348 -7857.6426 8556.7607 -7856.2793 8558.123 c +-7856.1538 8558.25 -7856.0327 8558.3779 -7855.9102 8558.5059 C +-7855.2153 8556.8633 L +-7856.3706 8555.7236 -7857.6191 8554.7813 -7858.8984 8554.0537 C +f
U
u
0.039 0.156 0.741 0 k +-7849.687 8541.4043 m +-7849.9746 8541.6914 -7861.2183 8552.9727 Y +-7860.4434 8553.2539 -7859.667 8553.6172 -7858.8984 8554.0537 C +-7845.4146 8540.5703 L +-7847.061 8540.0996 -7848.6406 8540.3555 -7849.687 8541.4043 c +f
0.025 0.1 0.475 0 k +-7845.4146 8540.5703 m +-7858.8984 8554.0537 L +-7857.584 8554.8027 -7856.2969 8555.7754 -7855.1143 8556.957 c +-7855.084 8556.9863 -7855.0586 8557.0156 -7855.0278 8557.0449 C +-7841.3408 8543.3574 L +-7841.5264 8543.1328 -7841.7202 8542.9141 -7841.9302 8542.7012 c +-7843.0103 8541.623 -7844.2305 8540.9082 -7845.4146 8540.5703 C +f
U
u
0.0115 0.046 0.2185 0 k +-7835.9346 8550.3926 m +-7833.5337 8547.9893 -7833.335 8544.0898 -7835.1382 8540.6973 C +-7836.2954 8541.1182 L +-7834.0938 8544.4961 -7833.8398 8548.2949 -7835.9346 8550.3926 c +f
0.015 0.06 0.285 0 k +-7843.5337 8535.5957 m +-7842.582 8534.9258 L +-7845.2046 8534.3516 -7847.8306 8534.9141 -7849.6206 8536.7061 c +-7848.1719 8535.2578 -7845.9082 8534.9307 -7843.5337 8535.5957 C +f
0.0295 0.118 0.5605 0 k +-7843.5337 8535.5957 m +-7845.9082 8534.9307 -7848.1719 8535.2578 -7849.6206 8536.7061 c +-7851.019 8538.1055 -7851.3706 8540.2637 -7850.7954 8542.5469 C +-7848.8672 8539.5449 -7845.4082 8540.5537 V +-7843.585 8535.6309 L +-7843.5337 8535.5957 L +f
*u +0.048 0.192 0.912 0 k +1 D +-7835.9346 8550.3926 m +-7837.2817 8551.7383 -7839.332 8552.1133 -7841.5234 8551.627 C +-7851.6714 8561.7734 L +-7851.7695 8561.5684 -7851.7695 8561.5684 -7851.6714 8561.7734 c +-7850.2246 8564.8145 -7849.9702 8567.916 -7851.082 8570.2168 C +-7850.5176 8568.2461 -7851.1226 8565.5449 -7852.6855 8562.7891 c +-7853.5054 8561.3438 -7854.5918 8559.8848 -7855.9102 8558.5059 C +-7855.2153 8556.8633 L +-7855.1816 8556.8945 -7855.1465 8556.9238 -7855.1143 8556.957 c +-7855.084 8556.9883 -7855.0566 8557.0176 -7855.0273 8557.0469 c +-7855.0278 8557.0469 -7855.0278 8557.0469 -7855.0278 8557.0449 C +-7841.3408 8543.3574 L +-7836.3262 8541.1289 L +-7836.2954 8541.1182 L +-7834.0938 8544.4961 -7833.8398 8548.2949 -7835.9346 8550.3926 c +f
*U +0.0215 0.086 0.4085 0 k +0 D +-7842.582 8534.9258 m +-7843.5337 8535.5957 L +-7841.6846 8536.1113 -7839.7656 8537.2285 -7838.1138 8538.8828 c +-7837.4063 8539.5889 -7836.7998 8540.3418 -7836.2954 8541.1182 C +-7835.1382 8540.6973 L +-7835.6553 8539.7246 -7836.3374 8538.793 -7837.1802 8537.9512 c +-7838.7695 8536.3594 -7840.6758 8535.3428 -7842.582 8534.9258 C +f
0.0205 0.082 0.3895 0 k +-7836.2954 8541.1182 m +-7836.7998 8540.3418 -7837.4063 8539.5889 -7838.1138 8538.8828 c +-7839.7656 8537.2285 -7841.6846 8536.1113 -7843.5337 8535.5957 C +-7843.585 8535.6309 L +-7845.4082 8540.5537 L +-7844.2114 8540.9219 -7842.9878 8541.6436 -7841.9302 8542.7012 c +-7841.7202 8542.9141 -7841.5264 8543.1328 -7841.3408 8543.3574 C +-7836.3262 8541.1289 L +-7836.2954 8541.1182 L +f
U
u
0.445 0.356 0.267 0 k +-7883.8496 8585.9961 m +-7861.957 8562.9688 L +-7862.2007 8562.6494 -7862.5752 8562.6133 -7862.8887 8562.6592 C +-7867.1802 8567.2891 -7878.3145 8579.4561 -7882.7266 8584.2793 C +-7883.5649 8585.3516 -7884 8585.9932 -7883.8496 8585.9961 C +f
0.15 0.12 0.09 0 k +-7883.834 8585.9961 m +-7882.6606 8585.7031 -7861.6934 8564.0029 Y +-7861.6934 8563.502 -7861.7993 8563.1758 -7861.957 8562.9688 C +-7883.8496 8585.9961 L +-7883.8442 8585.9961 -7883.8418 8586 -7883.834 8585.9961 c +f
0.2 0.16 0.12 0 k +-7882.7266 8584.2793 m +-7878.3145 8579.4561 -7867.1802 8567.2891 -7862.8887 8562.6592 C +-7863.2002 8562.7041 -7863.4526 8562.8301 Y +-7864.603 8563.1328 -7878.5742 8578.9619 -7882.7266 8584.2793 C +f
U
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 37) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7882.9502 8585.2324 m +-7833.0391 8585.2324 L +-7833.0391 8521.1152 L +-7882.9502 8521.1152 L +-7882.9502 8585.2324 L +n
u
0 O +0 0 0 1 k +0 R +0 0 0 1 K +0 w
-7833.2358 8521.1152 m +-7833.6064 8521.248 -7833.9858 8521.2832 -7834.3833 8521.2031 c +-7834.4863 8521.168 l +-7834.5254 8521.1602 -7834.5703 8521.1787 -7834.6025 8521.1992 c +-7834.9434 8521.3926 l +-7838.7129 8523.2959 -7842.0962 8525.8965 -7844.5 8529.4473 c +-7845.9634 8531.5918 -7847.123 8533.8789 -7848.7993 8535.8564 c +-7849.1729 8536.209 -7849.1758 8536.7725 -7848.834 8537.1309 c +-7848.4951 8537.501 -7847.918 8537.5078 -7847.561 8537.165 c +-7847.4038 8537.21 l +-7847.2642 8537.1289 -7847.0742 8537.0703 -7847.0234 8536.957 c +-7845.853 8534.2031 -7845.1895 8531.5137 -7843.4336 8529.1387 c +-7841.1719 8526.0947 -7838.1777 8523.9941 -7835.0298 8522.0234 c +-7834.3672 8521.6055 L +-7834.4966 8521.6348 L +-7833.7695 8521.6426 l +-7833.791 8521.6113 -7833.8008 8521.5957 -7833.8223 8521.5645 C +-7833.6064 8521.5234 -7833.377 8521.4746 -7833.1626 8521.4336 c +-7833.0762 8521.4238 -7833.0186 8521.3389 -7833.0391 8521.2383 c +-7833.0503 8521.1523 -7833.1382 8521.1084 -7833.2358 8521.1152 c +-7833.2358 8521.1152 l +b
-7849.2222 8534.9951 m +-7849.5742 8534.8066 -7849.9658 8534.6719 -7850.248 8534.3887 c +-7856.4521 8528.1719 -7866.6802 8527.2734 -7874.0488 8533.6855 C +-7874.1582 8533.7813 -7874.1582 8533.957 -7874.063 8534.0645 C +-7871.0527 8532.9434 -7862.8838 8534.375 -7859.3223 8537.4121 C +-7859.2534 8537.4668 -7859.1465 8537.4531 -7859.1055 8537.3711 C +-7859.0503 8537.3047 -7859.0664 8537.1953 -7859.1328 8537.1563 C +-7862.5625 8534.0859 -7867.0674 8532.29 -7871.6729 8532.748 C +-7868.8535 8531.1855 -7865.6313 8530.4941 -7862.3984 8530.6885 c +-7857.7144 8530.9717 -7853.4634 8533.1191 -7849.3711 8535.2793 c +-7849.291 8535.3193 -7849.1978 8535.293 -7849.1553 8535.2109 C +-7849.1016 8535.1309 -7849.1426 8535.0352 -7849.2222 8534.9951 c +b
-7858.647 8536.3359 m +-7860.2266 8540.3613 -7862.3911 8544.3203 -7865.8018 8547.0762 c +-7865.9648 8547.2119 -7865.9946 8547.4492 -7865.8711 8547.6055 c +-7865.7344 8547.7676 -7865.5049 8547.7793 -7865.3481 8547.6563 c +-7861.123 8545.5967 -7858.1904 8541.1309 -7858.1626 8536.4014 c +-7858.1626 8536.4014 l +-7858.1328 8536.2676 -7858.2354 8536.1348 -7858.3633 8536.1221 c +-7858.5039 8536.1055 -7858.6318 8536.1973 -7858.647 8536.3359 c +-7858.647 8536.3359 l +b
-7852.9414 8541.0176 m +-7853.042 8541.1816 -7853.1152 8541.3838 -7853.2617 8541.4824 c +-7856.0806 8543.3906 -7858.9785 8544.6309 -7861.8848 8546.1328 c +-7862.0503 8546.209 -7862.1118 8546.418 -7862.0313 8546.5703 c +-7861.9512 8546.7227 -7861.7559 8546.7793 -7861.5898 8546.7041 c +-7858.439 8545.3232 -7854.313 8544.5 -7852.6729 8541.1797 c +-7852.6289 8541.1113 -7852.6455 8541.0146 -7852.7266 8540.9648 c +-7852.7959 8540.9199 -7852.897 8540.9492 -7852.9414 8541.0176 c +-7852.9414 8541.0176 l +b
-7852.6602 8541.918 m +-7852.4438 8542.4297 -7852.1431 8542.8896 -7852.0503 8543.4355 c +-7851.2183 8548.2773 -7851.1152 8553.042 -7852.248 8557.6875 c +-7852.248 8557.6875 l +-7852.3418 8557.9531 -7852.2114 8558.2441 -7851.9438 8558.3389 c +-7851.6777 8558.4336 -7851.3882 8558.3125 -7851.2935 8558.0479 c +-7849.293 8552.8115 -7849.897 8546.7373 -7852.3711 8541.7832 c +-7852.4063 8541.7002 -7852.498 8541.6689 -7852.582 8541.6914 c +-7852.6641 8541.7275 -7852.6978 8541.835 -7852.6602 8541.918 c +-7852.6602 8541.918 l +b
-7851.5352 8557.5938 m +-7848.8984 8555.2275 -7846.6816 8552.252 -7845.853 8548.7363 c +-7845.853 8548.7363 l +-7845.7246 8548.1816 -7846.0742 8547.623 -7846.6416 8547.4902 c +-7847.1992 8547.375 -7847.7578 8547.7246 -7847.8862 8548.2793 c +-7848.5649 8551.5313 -7849.8711 8554.6729 -7851.7954 8557.3867 c +-7851.7954 8557.3867 l +-7851.8462 8557.4551 -7851.834 8557.5576 -7851.7695 8557.6201 c +-7851.6992 8557.6699 -7851.5977 8557.6582 -7851.5352 8557.5938 c +-7851.5352 8557.5938 l +b
-7836.3711 8550.1826 m +-7837.7114 8545.8301 -7840.2598 8542.0693 -7843.689 8539.1533 C +-7843.729 8539.0723 -7843.8242 8539.0322 -7843.9038 8539.0859 C +-7843.9863 8539.127 -7844.0122 8539.2207 -7843.9722 8539.3018 C +-7843.957 8539.7891 -7843.7144 8540.2334 -7843.4458 8540.5313 c +-7838.4063 8546.1621 -7834.9902 8554.7197 -7837.3433 8561.9551 C +-7837.0762 8556.4512 -7838.7241 8550.3008 -7842.1362 8545.6738 c +-7843.1606 8544.2695 -7844.7422 8544.1211 -7846.3081 8544.2031 C +-7846.4023 8544.1895 -7846.4834 8544.2432 -7846.4961 8544.3369 c +-7846.5098 8544.4189 -7846.4551 8544.5137 -7846.3623 8544.5254 C +-7843.1479 8545.7695 -7841.4878 8549.2246 -7840.084 8552.1943 c +-7838.415 8555.7441 -7837.7017 8559.6387 -7838.0054 8563.5 C +-7838.0454 8563.6777 -7838.1138 8565.3975 -7837.9775 8565.4102 C +-7837.8306 8565.4395 -7837.709 8565.3438 -7837.6802 8565.1943 C +-7837.645 8565.0449 -7834.6426 8555.7988 -7836.3711 8550.1826 c +b
-7844.4863 8537.4912 m +-7843.3945 8533.6211 -7841.1094 8530.251 -7838.4824 8527.2383 c +-7838.3306 8527.1045 -7838.3145 8526.8867 -7838.4502 8526.7354 c +-7838.5752 8526.6006 -7838.8047 8526.582 -7838.957 8526.7178 c +-7842.3306 8529.332 -7843.4487 8533.541 -7844.7954 8537.375 c +-7844.7954 8537.375 l +-7844.8262 8537.4648 -7844.7754 8537.5586 -7844.6982 8537.5869 c +-7844.6094 8537.6191 -7844.5166 8537.5684 -7844.4863 8537.4912 c +-7844.4863 8537.4912 l +b
-7838.5313 8562.1094 m +-7838.5991 8562.0566 -7838.707 8562.083 -7838.748 8562.1504 C +-7838.9634 8562.4746 -7840.6914 8564.5195 -7841.3926 8565.1406 c +-7846.1719 8569.3945 -7849.5137 8573.9609 -7857.5391 8577.7227 c +-7864.4512 8580.9639 -7867.1113 8583.5957 -7874.3862 8581.8262 c +-7877.687 8581.0293 -7879.0313 8580.5313 -7880.4351 8575.4551 C +-7881.9473 8569.2988 -7880.8672 8571.7832 -7881.084 8564.4385 c +-7881.2222 8559.6973 -7884 8548.4551 -7871.5254 8534.2598 C +-7871.4199 8534.1484 -7871.4336 8533.9961 -7871.5337 8533.9072 C +-7871.6328 8533.8027 -7871.7959 8533.8164 -7871.8862 8533.916 C +-7877.5786 8538.7168 -7881.0234 8545.6582 -7882.3145 8552.9424 c +-7883.2871 8558.4668 -7882.9199 8563.25 -7882.666 8569.6367 c +-7882.5688 8572.0938 -7883.6855 8579.0723 -7878.9102 8583.0625 c +-7875.3926 8586 -7870.3911 8585.5469 -7866.3545 8584.1563 c +-7860.6992 8582.2119 -7855.9727 8579.1465 -7850.8711 8575.6094 c +-7847.2656 8573.125 -7839.2881 8563.2852 -7838.4785 8562.3262 C +-7838.4351 8562.2588 -7838.4502 8562.1504 -7838.5313 8562.1094 C +b
-7873.0503 8549.3057 m +-7872.168 8548.5029 -7871.7017 8549.8457 -7871.4297 8550.6016 c +-7871.1626 8551.3574 -7870.189 8551.25 -7870.5127 8551.5732 c +-7870.8369 8551.8975 -7870.8369 8551.9521 -7871.3232 8551.5195 c +-7871.8086 8551.0879 -7871.8086 8551.7363 -7872.5649 8551.25 c +-7873.3198 8550.7627 -7873.645 8549.8457 -7873.0503 8549.3057 c +b
-7865.6519 8553.9492 m +-7865.3657 8553.5918 -7864.6802 8553.5723 -7864.4648 8553.8945 c +-7864.25 8554.2197 -7863.3306 8554.2734 -7863.4937 8554.5967 c +-7863.6543 8554.9219 -7863.6016 8555.1387 -7864.0874 8554.9219 c +-7864.5737 8554.7051 -7864.4121 8555.2998 -7864.897 8555.084 c +-7865.3833 8554.8672 -7865.8687 8554.2197 -7865.6519 8553.9492 c +b
-7857.6074 8559.0791 m +-7857.1206 8558.7559 -7855.8794 8559.5117 -7856.4727 8559.5117 c +-7857.0674 8559.5117 -7856.311 8560.2676 -7856.8521 8560.4834 c +-7857.3906 8560.6992 -7857.2832 8560.4297 -7857.6074 8560.6445 c +-7857.9297 8560.8613 -7858.3633 8561.2393 -7858.5239 8560.4297 c +-7858.6855 8559.6191 -7858.3633 8559.6191 -7857.9849 8559.3496 c +-7857.6074 8559.0791 -7857.6074 8559.0791 y +b
-7872.2402 8559.3496 m +-7871.1074 8559.2422 -7871.8633 8559.998 -7871.269 8560.4834 c +-7870.6738 8560.9697 -7869.918 8561.6172 -7870.729 8561.4004 c +-7871.5391 8561.1855 -7872.9961 8561.6719 -7872.9434 8560.5381 c +-7872.8887 8559.4033 -7872.6328 8559.3867 -7872.2402 8559.3496 c +b
-7866.5703 8567.6113 m +-7866.1016 8567.3438 -7866.6802 8567.7197 -7866.0303 8567.6113 c +-7865.3833 8567.5039 -7864.7886 8567.6113 -7865.2207 8567.8281 c +-7865.6519 8568.0439 -7866.3008 8568.1523 -7866.4634 8567.9893 c +-7866.625 8567.8281 -7866.9473 8567.8281 -7866.5703 8567.6113 c +b
-7857.0674 8567.1797 m +-7857.4785 8566.1797 -7856.0962 8566.4238 -7855.4473 8566.7461 c +-7854.7998 8567.0723 -7853.8262 8566.4775 -7854.4209 8566.9102 c +-7855.0137 8567.3418 -7854.7998 8566.9102 -7855.3926 8567.2334 c +-7855.9873 8567.5566 -7856.6895 8568.0977 -7857.0674 8567.1797 c +b
-7872.6738 8573.0664 m +-7872.7222 8572.0752 -7871.8086 8572.957 -7871.269 8573.0117 c +-7870.729 8573.0664 -7870.0801 8573.0664 -7870.2432 8573.2813 c +-7870.4038 8573.498 -7870.459 8573.498 -7871.1626 8573.7129 c +-7871.8633 8573.9297 -7872.6191 8574.1445 -7872.6738 8573.0664 c +b
-7873.1582 8567.6113 m +-7874.0664 8567.9746 -7874.293 8567.8809 -7874.5625 8568.2051 c +-7874.834 8568.5293 -7875.1558 8569.2314 -7875.5352 8568.0977 c +-7875.9121 8566.9629 -7875.4282 8565.7764 -7875.0479 8565.9375 c +-7874.6714 8566.0996 -7874.293 8566.7461 -7873.8618 8566.9629 c +-7873.4297 8567.1797 -7872.6191 8567.3945 -7873.1582 8567.6113 c +b
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 41) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884 8586 m +-7803 8586 L +-7803 8481 L +-7884 8481 L +-7884 8586 L +n
u
u
u
0 O +0 0 0 1 k +-7865.8057 8498.4258 m +-7866.0742 8496.6621 -7867.1602 8495.291 -7868.5239 8495.3965 c +-7869.8862 8495.502 -7870.707 8497.0234 -7870.7432 8498.8066 c +-7870.748 8499.0693 -7870.6743 8500.2441 -7870.6304 8500.4775 C +-7870.6382 8500.582 -7870.6191 8500.6738 -7870.6104 8500.7803 c +-7870.5142 8502.0254 -7869.3574 8503.3604 -7867.9414 8503.25 c +-7866.5249 8503.1406 -7865.4897 8501.8613 -7865.6367 8500.4727 c +-7865.644 8500.4072 -7865.6958 8499.626 -7865.707 8499.5625 C +-7865.6816 8499.2852 -7865.7598 8498.7256 -7865.8057 8498.4258 c +f
-7876.2646 8507.7334 m +-7876.9946 8515.916 -7871.5015 8515.1191 v +-7868.3682 8514.0186 -7869.4414 8511.1211 v +-7869.6426 8509.752 -7871.7847 8508.498 v +-7872.146 8508.25 -7872.7632 8507.1016 v +-7873.1294 8505.5977 -7874.5186 8505.2979 v +-7876.0762 8505.251 -7876.2646 8507.7334 v +f
-7850.7646 8516.4971 m +F
-7850.0762 8514.3408 m +-7850.7847 8513.1934 -7853.8848 8513.6279 Y +-7854.811 8513.6885 -7855.3799 8513.1113 Y +-7857.8394 8509.0918 -7861.0386 8509.8857 -7861.4082 8509.9932 C +-7861.4097 8509.9863 L +-7864.999 8510.6045 -7865.2666 8515.6035 V +-7865.4912 8516.3828 -7866.335 8516.7695 V +-7869.2695 8517.8613 -7869.3481 8519.208 V +-7869.8999 8521.1152 -7867.6006 8521.7422 V +-7865.6792 8522.2568 -7863.7886 8519.8945 V +-7862.6113 8518.6797 -7859.5762 8517.9395 V +-7859.5728 8517.9531 L +-7856.3594 8517.0459 -7854.6392 8517.5889 Y +-7851.8521 8518.7676 -7850.4063 8517.4014 Y +-7848.6826 8515.7559 -7850.0762 8514.3408 Y +f
-7863.9834 8497.8789 m +-7864.5854 8496.2002 -7864.2822 8494.4775 -7863.0327 8493.9229 c +-7861.7842 8493.3672 -7860.3384 8494.3164 -7859.4585 8495.8672 c +-7859.3286 8496.0957 -7858.8359 8497.165 -7858.7632 8497.3906 C +-7858.7065 8497.4785 -7858.6792 8497.5684 -7858.6362 8497.667 c +-7858.1289 8498.8086 -7858.5122 8500.5303 -7859.8105 8501.1074 c +-7861.1089 8501.6855 -7862.6279 8501.0527 -7863.1582 8499.7617 c +-7863.1831 8499.7002 -7863.5078 8498.9883 -7863.5298 8498.9268 C +-7863.6831 8498.6963 -7863.8809 8498.166 -7863.9834 8497.8789 c +f
-7849.7129 8500.9316 m +-7845.1802 8507.7822 -7850.3911 8509.6943 v +-7853.6714 8510.2168 -7854.103 8507.1572 v +-7854.5786 8505.8564 -7853.29 8503.7354 v +-7853.0903 8503.3447 -7853.0938 8502.04 v +-7853.4858 8500.5449 -7852.4082 8499.6182 v +-7851.0591 8498.8359 -7849.7129 8500.9316 v +f
U
u
-7824.7358 8550.1074 m +-7824.3687 8548.3623 -7824.9048 8546.6963 -7826.2183 8546.3164 c +-7827.5322 8545.9375 -7828.8345 8547.0752 -7829.4937 8548.7324 c +-7829.5903 8548.9775 -7829.9326 8550.1025 -7829.9746 8550.3369 C +-7830.0176 8550.4326 -7830.0322 8550.5244 -7830.0625 8550.6279 c +-7830.4087 8551.8271 -7829.7935 8553.4805 -7828.4282 8553.875 c +-7827.063 8554.2695 -7825.645 8553.4365 -7825.2969 8552.085 c +-7825.2793 8552.0205 -7825.0552 8551.2705 -7825.0425 8551.207 C +-7824.9214 8550.9551 -7824.7983 8550.4053 -7824.7358 8550.1074 c +f
-7838.2705 8554.6172 m +-7841.8242 8562.0244 -7836.3999 8563.2061 v +-7833.0801 8563.2754 -7833.0688 8560.1846 v +-7832.7778 8558.8311 -7834.3433 8556.9072 v +-7834.5942 8556.5459 -7834.7695 8555.2539 v +-7834.5854 8553.7188 -7835.7793 8552.9492 v +-7837.2222 8552.3594 -7838.2705 8554.6172 v +f
-7817.4648 8571.7695 m +F
-7816.063 8569.9912 m +-7816.3247 8568.6689 -7819.3799 8567.9883 Y +-7820.27 8567.7197 -7820.5986 8566.9795 Y +-7821.4922 8562.3535 -7824.7666 8561.9746 -7825.1494 8561.9453 C +-7825.1494 8561.9395 L +-7828.7271 8561.2588 -7830.731 8565.8467 V +-7831.2153 8566.4961 -7832.1416 8566.5625 V +-7835.272 8566.5557 -7835.8169 8567.7891 V +-7837.0039 8569.3809 -7835.0713 8570.7764 V +-7833.4526 8571.9316 -7830.853 8570.3818 V +-7829.3242 8569.6582 -7826.2222 8570.0293 V +-7826.2231 8570.042 L +-7822.896 8570.3213 -7821.4766 8571.4326 Y +-7819.2793 8573.5146 -7817.4463 8572.7432 Y +-7815.2554 8571.8057 -7816.063 8569.9912 Y +f
-7822.8374 8550.2354 m +-7822.813 8548.4512 -7821.9258 8546.9453 -7820.5601 8546.8633 c +-7819.1943 8546.7803 -7818.1743 8548.1768 -7817.895 8549.9385 c +-7817.854 8550.1973 -7817.7666 8551.3711 -7817.7778 8551.6094 C +-7817.7559 8551.7109 -7817.7617 8551.8037 -7817.7559 8551.9121 c +-7817.6807 8553.1592 -7818.644 8554.6367 -7820.0625 8554.7217 c +-7821.4814 8554.8066 -7822.6826 8553.6826 -7822.7246 8552.2871 c +-7822.7271 8552.2217 -7822.7822 8551.4404 -7822.7798 8551.375 C +-7822.8433 8551.1045 -7822.8423 8550.54 -7822.8374 8550.2354 c +f
-7811.0186 8557.5625 m +-7809.1777 8565.5684 -7814.7271 8565.5303 v +-7817.9834 8564.8691 -7817.3154 8561.8516 v +-7817.3032 8560.4668 -7815.353 8558.9326 v +-7815.0278 8558.6377 -7814.5742 8557.415 v +-7814.417 8555.876 -7813.083 8555.3877 v +-7811.5454 8555.1279 -7811.0186 8557.5625 v +f
U
U
1 Ap +-7884 8586 m +-7884 8481 L +-7803 8481 L +-7803 8586 L +-7884 8586 L +n
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 42) +0 A +u
0 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7857.4609 8559.085 m +-7885 8559.085 L +-7885 8586.624 L +-7857.4609 8586.624 L +-7857.4609 8559.085 L +n
0 O +0 0.55 1 0.12 k +-7871.7598 8577.3623 m +-7871.7598 8587 L +-7870.6343 8587 L +-7870.6343 8577.3623 L +-7871.7598 8577.3623 L +f
0 0.55 1 0.3 k +-7875.4233 8572.876 m +-7874.3096 8571.1553 -7870.8809 8569.457 -7866.4966 8569.457 c +-7862.1152 8569.457 -7858.6138 8571.1064 -7857.5718 8572.874 C +-7857.5718 8572.874 L +-7858.6138 8574.6006 -7862.1152 8576.2979 -7866.4966 8576.2979 c +-7870.875 8576.2979 -7874.3242 8574.5615 -7875.4233 8572.876 C +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 45) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7885 8543.918 m +-7885 8587 L +-7798.2217 8587 L +-7798.2217 8543.918 L +-7885 8543.918 L +n
u
u
0 O +0 0 0 1 k +-7825.2217 8573.2363 m +-7825.2217 8581.0742 L +-7813.2217 8574.1445 L +-7801.2217 8567.2168 L +-7813.2217 8560.2891 L +-7825.2217 8553.3613 L +-7825.2217 8561.4824 L +-7883.9351 8547.7168 L +-7870.9878 8566.8027 L +-7885 8587 L +-7825.2217 8573.2363 L +f
0 1 1 0.1 k +0 R +0 0 0 1 K +-7823.2217 8570.2363 m +-7823.2217 8578.0742 L +-7811.2217 8571.1445 L +-7799.2217 8564.2168 L +-7811.2217 8557.2891 L +-7823.2217 8550.3613 L +-7823.2217 8558.4824 L +-7881.9351 8544.7168 L +-7867.2754 8564.3594 L +-7881.9351 8584 L +-7823.2217 8570.2363 L +b
U
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 50) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884 8586 m +-7756.877 8586 L +-7756.877 8538.415 L +-7884 8538.415 L +-7884 8586 L +n
u
*u +0 O +0.9529 0.949 0.1961 0.0745 k +-7857.793 8570.417 m +-7857.8232 8570.2676 L +-7859.9849 8564.3643 -7860.9438 8561.6377 -7861.2754 8560.2891 c +-7861.3657 8560.2891 L +-7861.6953 8561.6074 -7862.7754 8564.335 -7864.9673 8570.2676 c +-7864.9966 8570.417 L +-7857.793 8570.417 l +f
1 D +-7868.1182 8578.9678 m +-7869.6191 8582.5371 -7870.3994 8584.709 -7868.1182 8584.917 c +-7868.1182 8585.9678 L +-7870.6992 8585.9375 -7873.5806 8585.917 -7876.3418 8585.917 c +-7880.0649 8585.917 -7882.5273 8585.9375 -7884 8585.9678 c +-7884 8584.917 L +-7882.1064 8584.709 -7881.0542 8582.5674 -7873.5513 8565.5029 c +-7861.6953 8538.415 L +-7859.8638 8538.415 L +-7848.1582 8565.5029 L +-7840.8047 8582.5078 -7839.7246 8584.709 -7837.8887 8584.917 c +-7837.8887 8585.9678 L +-7839.5142 8585.9375 -7841.916 8585.917 -7845.5767 8585.917 c +-7848.5488 8585.917 -7851.6694 8585.9375 -7854.7026 8585.9678 c +-7854.7026 8584.917 L +-7852.481 8584.709 -7853.3218 8582.5078 -7854.7617 8578.9678 C +-7868.1182 8578.9678 l +f
*U +*u +0 D +-7813.0762 8554.0811 m +-7813.0762 8550.4717 -7815.3535 8548.0947 -7819.1294 8548.0947 c +-7820.2383 8548.0947 -7821.0767 8548.2158 -7821.5273 8548.2451 c +-7821.5273 8560.5479 L +-7820.8672 8560.6084 -7820.208 8560.6084 -7819.729 8560.6084 c +-7818.2002 8560.6084 -7816.7026 8560.127 -7815.6841 8559.4053 c +-7814.3945 8558.5332 -7813.0762 8556.7881 -7813.0762 8554.1416 C +-7813.0762 8554.0811 l +f
1 D +-7832.0806 8558.3926 m +-7832.0806 8542.6445 -7832.0806 8540.4287 -7834.542 8540.2783 c +-7834.542 8539.3184 L +-7833.042 8539.2588 -7830.3174 8539.1992 -7827.5664 8539.1689 c +-7825.6538 8539.1084 -7822.3945 8539.0186 -7820.1479 8538.9775 c +-7816.582 8538.9775 -7813.585 8539.4258 -7811.0049 8540.2627 c +-7806.353 8541.8477 -7801.9702 8545.8525 -7801.9702 8553.6602 c +-7801.9702 8558.7432 -7804.4014 8562.3193 -7806.5034 8564.0605 c +-7807.583 8565.0215 -7808.8135 8565.832 -7809.7744 8566.3125 c +-7809.7744 8566.4629 L +-7807.5234 8569.4912 -7805.6025 8572.0625 -7799.3906 8580.6426 c +-7797.5 8583.0645 -7795.9102 8584.7383 -7794.7402 8584.9775 c +-7794.7402 8586 L +-7796.6602 8586 -7799 8585.8848 -7801.1294 8585.8848 c +-7803.3511 8585.8848 -7804.8521 8586 -7806.4424 8586 c +-7807.6729 8586 -7808.7241 8585.9404 -7809.5039 8585.2725 c +-7813.0151 8579.8477 -7816.9121 8573.7559 -7820.1182 8568.7139 c +-7820.5078 8568.7139 -7820.957 8568.7139 -7821.5273 8568.7139 c +-7821.5273 8571.2852 L +-7821.5273 8582.5264 -7821.437 8584.7686 -7819.1895 8584.9775 c +-7819.1895 8585.9697 L +-7820.6279 8585.9404 -7823.9194 8585.915 -7826.6992 8585.915 c +-7829.9287 8585.915 -7832.8921 8585.9404 -7834.5122 8585.9697 c +-7834.5122 8584.9775 L +-7832.0518 8584.7686 -7832.0806 8582.5264 -7832.0806 8565.5918 C +-7832.0806 8558.3926 l +f
*U +*u +0 D +-7781.4561 8565.5928 m +-7781.4561 8582.4941 -7781.4561 8584.6484 -7784.2832 8584.9775 C +-7784.2832 8585.9697 l +-7782.3887 8585.9404 -7779.0542 8585.915 -7775.7822 8585.915 c +-7772.6294 8585.915 -7769.5688 8585.9404 -7767.2881 8585.9697 C +-7767.2881 8584.9775 l +-7770.2578 8584.9775 -7770.2881 8582.5244 -7770.2881 8565.5928 C +-7770.2881 8548.1514 L +-7762.8193 8548.1514 l +-7759.999 8548.1514 -7758.5298 8548.96 -7757.8994 8551.2627 C +-7756.9072 8551.2627 l +-7756.9072 8546.4697 -7756.877 8542.415 -7756.877 8539.1709 c +-7761.3486 8539.2012 -7766.748 8539.2314 -7772.0601 8539.2314 C +-7779.7446 8539.2314 l +-7784.5537 8539.2314 -7789.9966 8539.2012 -7794.9614 8539.1709 c +-7794.9614 8542.3848 -7794.9326 8546.4697 -7794.9326 8551.2627 C +-7793.9072 8551.2627 l +-7793.3657 8549.1094 -7791.771 8548.1514 -7788.9438 8548.1514 C +-7781.4561 8548.1514 l +-7781.4561 8565.5928 L +f
*U +U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 62) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7885 8587 m +-7885 8548.7305 L +-7846.7305 8548.7305 L +-7846.7305 8587 L +-7885 8587 L +n
0 O +1 0.14 0.09 0 k +-7846.7305 8569.9043 m +-7846.7305 8561.3408 L +-7885 8561.3408 L +-7885 8569.9043 L +-7846.7305 8569.9043 L +f
-7846.7305 8573.0967 m +-7846.7305 8572.4229 L +-7885 8572.4229 L +-7885 8573.0967 L +-7846.7305 8573.0967 L +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 63) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7885 8587 m +-7885 8548.7305 L +-7846.7305 8548.7305 L +-7846.7305 8587 L +-7885 8587 L +n
0 O +1 0.14 0.09 0 k +-7846.7305 8565.8262 m +-7846.7305 8574.3896 L +-7859.3408 8574.3896 L +-7859.3408 8587 L +-7867.9038 8587 L +-7867.9063 8565.8262 L +-7867.9038 8565.8262 L +-7867.9038 8565.8252 L +-7846.7305 8565.8262 L +f
-7846.7305 8563.3076 m +-7870.4233 8563.3076 L +-7870.4233 8587 L +-7871.0967 8587 L +-7871.0977 8562.6328 L +-7846.7305 8562.6328 L +-7846.7305 8563.3076 L +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 64) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7885 8586.999 m +-7885 8548.7285 L +-7846.7305 8548.7285 L +-7846.7305 8586.999 L +-7885 8586.999 L +n
0 O +1 0.14 0.09 0 k +-7846.7305 8561.3389 m +-7872.3896 8561.3389 L +-7872.3896 8586.999 L +-7863.8262 8587 L +-7863.8262 8569.9033 L +-7846.7305 8569.9033 L +-7846.7305 8561.3389 L +f
-7846.7305 8572.4219 m +-7861.3081 8572.4219 L +-7861.3081 8587 L +-7860.6338 8587 L +-7860.6338 8573.0957 L +-7846.7305 8573.0957 L +-7846.7305 8572.4219 L +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 65) +0 A +u
1 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7857.0625 8559.4609 m +-7884.6025 8559.4609 L +-7884.6025 8587 L +-7857.0625 8587 L +-7857.0625 8559.4609 L +n
0 O +0 0.55 1 0.12 k +-7856.8418 8572.7002 m +-7885 8572.7002 L +-7885 8573.8252 L +-7856.8418 8573.8252 L +-7856.8418 8572.7002 L +f
u
0 0.55 1 0.3 k +-7883.9814 8560.5215 m +-7884.4102 8562.5254 -7883.1865 8566.1514 -7880.0874 8569.251 c +-7876.9878 8572.3496 -7873.3457 8573.6602 -7871.3594 8573.1455 C +-7871.3594 8573.1455 L +-7870.875 8571.1895 -7872.1519 8567.5117 -7875.25 8564.4141 c +-7878.3457 8561.3184 -7882.0122 8560.1064 -7883.9814 8560.5215 C +f
0 0.39 0.7 0.12 k +-7883.9814 8585.9912 m +-7884.4102 8583.9883 -7883.1865 8580.3613 -7880.0874 8577.2617 c +-7876.9878 8574.1641 -7873.3457 8572.8535 -7871.3594 8573.3672 C +-7871.3594 8573.3672 L +-7870.875 8575.3242 -7872.1519 8579.001 -7875.25 8582.0996 c +-7878.3457 8585.1953 -7882.0122 8586.4063 -7883.9814 8585.9912 C +f
U
u
0 0.55 1 0.3 k +-7870.1782 8585.9912 m +-7870.6074 8583.9883 -7869.3838 8580.3613 -7866.2842 8577.2617 c +-7863.1855 8574.1641 -7859.543 8572.8535 -7857.5576 8573.3672 C +-7857.5566 8573.3672 L +-7857.0718 8575.3242 -7858.3496 8579.001 -7861.4473 8582.0996 c +-7864.543 8585.1953 -7868.209 8586.4063 -7870.1782 8585.9912 C +f
0 0.39 0.7 0.12 k +-7870.1782 8560.5215 m +-7870.6074 8562.5254 -7869.3838 8566.1514 -7866.2842 8569.251 c +-7863.1855 8572.3496 -7859.543 8573.6602 -7857.5576 8573.1455 C +-7857.5566 8573.1455 L +-7857.0718 8571.1895 -7858.3496 8567.5117 -7861.4473 8564.4141 c +-7864.543 8561.3184 -7868.209 8560.1064 -7870.1782 8560.5215 C +f
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 67) +0 A +u
0 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7857.4609 8559.085 m +-7885 8559.085 L +-7885 8586.624 L +-7857.4609 8586.624 L +-7857.4609 8559.085 L +n
0 O +0 0.55 1 0.12 k +-7871.7598 8577.3623 m +-7871.7598 8587 L +-7870.6343 8587 L +-7870.6343 8577.3623 L +-7871.7598 8577.3623 L +f
0 0.55 1 0.3 k +-7875.4233 8572.876 m +-7874.3096 8571.1553 -7870.8809 8569.457 -7866.4966 8569.457 c +-7862.1152 8569.457 -7858.6138 8571.1064 -7857.5718 8572.874 C +-7857.5718 8572.874 L +-7858.6138 8574.6006 -7862.1152 8576.2979 -7866.4966 8576.2979 c +-7870.875 8576.2979 -7874.3242 8574.5615 -7875.4233 8572.876 C +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 69) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7857.4609 8559.4609 m +-7885 8559.4609 L +-7885 8587 L +-7857.4609 8587 L +-7857.4609 8559.4609 L +n
0 O +0 0.55 1 0.3 k +-7875.4233 8573.252 m +-7874.3096 8571.5313 -7870.8809 8569.833 -7866.4966 8569.833 c +-7862.1152 8569.833 -7858.6138 8571.4824 -7857.5718 8573.25 C +-7857.5718 8573.25 L +-7858.6138 8574.9766 -7862.1152 8576.6738 -7866.4966 8576.6738 c +-7870.875 8576.6738 -7874.3242 8574.9375 -7875.4233 8573.252 C +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 83) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884 8585.9355 m +-7670.4009 8585.9355 L +-7670.4009 8578.1348 L +-7884 8578.1348 L +-7884 8585.9355 L +n
0 O +0 0 0 1 k +-7884 8582.0352 m +-7873.9858 8584.5273 -7867.187 8585.875 -7855.2007 8585.9355 c +-7842.2183 8586 -7777.2002 8585.9355 y +-7712.1816 8586 -7699.2002 8585.9355 v +-7687.2129 8585.875 -7680.415 8584.5273 -7670.4009 8582.0352 C +-7680.415 8579.543 -7687.2129 8578.1953 -7699.2002 8578.1348 c +-7712.1816 8578.0693 -7777.2002 8578.1348 y +-7842.2183 8578.0693 -7855.2007 8578.1348 v +-7867.187 8578.1953 -7873.9858 8579.543 -7884 8582.0352 C +f
U
%AI8_EndBrushPattern +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +4 Bn +%AI5_BeginGradient: (Black, White) +(Black, White) 0 2 Bd +[ +< +FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 +D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 +AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 +87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 +5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 +37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 +0F0E0D0C0B0A09080706050403020100 +> +0 %_Br +[ +0 0 50 100 %_BS +%_0 0 50 100 Bs +1 0 50 0 %_BS +%_1 0 50 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Chrome) +(Chrome) 0 6 Bd +[ +0 +< +464646454545444444444343434342424241414141404040403F3F3F3E3E3E3E3D3D3D3C3C3C3C3B +3B3B3B3A3A3A39393939383838383737373636363635353535343434333333333232323131313130 +3030302F2F2F2E2E2E2E2D2D2D2D2C2C2C2B2B2B2B2A2A2A2A292929282828282727272626262625 +2525252424242323232322222222212121202020201F1F1F1F1E1E1E1D1D1D1D1C1C1C1B1B1B1B1A +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 +< +00000101010102020202030303040404040505050606060607070707080808090909090A0A0A0A0B +0B0B0C0C0C0C0D0D0D0D0E0E0E0F0F0F0F1010101111111112121212131313141414141515151516 +161617171717181818181919191A1A1A1A1B1B1B1C1C1C1C1D1D1D1D1E1E1E1F1F1F1F2020202021 +212122222222232323232424242525252526262627272727282828282929292A2A2A2A2B2B2B2B2C +2C2C2D2D2D2D2E2E2E2E2F2F2F303030303131313232323233333333343434353535353636363637 +373738383838393939393A3A3A3B3B3B3B3C3C3C3D3D3D3D3E3E3E3E3F3F3F404040404141414142 +42424343434344444444454545464646 +> +< +000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +> +< +00000101020203030304040505050606070708080809090A0A0B0B0B0C0C0D0D0D0E0E0F0F101010 +1111121212131314141515151616171718181819191A1A1A1B1B1C1C1D1D1D1E1E1F1F1F20202121 +222222232324242525252626272727282829292A2A2A2B2B2C2C2D2D2D2E2E2F2F2F303031313232 +32333334343435353636373737383839393A3A3A3B3B3C3C3C3D3D3E3E3F3F3F4040414142424243 +4344444445454646474747484849494A4A4A4B4B4C4C4C4D4D4E4E4F4F4F50505151515252535354 +54545555565657575758585959595A5A5B5B5C5C5C5D5D5E5E5E5F5F606061616162626363646464 +6565666666676768686969696A6A6B6B +> +1 %_Br +1 +0 %_Br +< +FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 +D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 +AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 +87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 +5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 +37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 +0F0E0D0C0B0A09080706050403020100 +> +< +4D4C4C4C4B4B4B4A4A4A4A4949494848484747474746464645454544444444434343424242414141 +414040403F3F3F3E3E3E3E3D3D3D3C3C3C3B3B3B3B3A3A3A39393938383838373737363636353535 +35343434333333323232323131313030302F2F2F2F2E2E2E2D2D2D2C2C2C2C2B2B2B2A2A2A292929 +2928282827272726262626252525242424232323232222222121212020201F1F1F1F1E1E1E1D1D1D +1C1C1C1C1B1B1B1A1A1A191919191818181717171616161615151514141413131313121212111111 +101010100F0F0F0E0E0E0D0D0D0D0C0C0C0B0B0B0A0A0A0A09090908080807070707060606050505 +04040404030303020202010101010000 +> +0 +0 +1 %_Br +[ +1 0 50 92 %_BS +%_1 0 50 92 Bs +0 0.275 1 0.12 1 50 59 %_BS +%_0 0.275 1 0.12 1 50 59 Bs +0 0.275 1 0.42 1 50 50 %_BS +%_0 0.275 1 0.42 1 50 50 Bs +1 0 50 49 %_BS +%_1 0 50 49 Bs +1 0 50 41 %_BS +%_1 0 50 41 Bs +1 0.3 0 0 1 50 0 %_BS +%_1 0.3 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 +06060606060606060606060606060606060606060606060606060606060606060607070707070707 +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 +%_0 1 0 0 1 50 100 Bs +1 1 0 0 1 50 80 %_BS +%_1 1 0 0 1 50 80 Bs +1 0.0279 0 0 1 50 60 %_BS +%_1 0.0279 0 0 1 50 60 Bs +1 0 1 0 1 50 40 %_BS +%_1 0 1 0 1 50 40 Bs +0 0 1 0 1 50 20 %_BS +%_0 0 1 0 1 50 20 Bs +0 1 1 0 1 50 0 %_BS +%_0 1 1 0 1 50 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Yellow & Orange Radial) +(Yellow & Orange Radial) 1 2 Bd +[ +0 +< +0001010203040506060708090A0B0C0C0D0E0F10111213131415161718191A1B1C1D1D1E1F202122 +232425262728292A2B2B2C2D2E2F303132333435363738393A3B3C3D3E3E3F404142434445464748 +494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60606162636465666768696A6B6C6D6E6F +707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +> +< +FFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9 +F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2 +F2F2F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEDEDEDEDEDEDECECECECECEBEBEBEBEB +EBEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E6E6E6E6E6E6 +> +0 +1 %_Br +[ +0 0 1 0 1 52 19 %_BS +%_0 0 1 0 1 52 19 Bs +0 0.55 0.9 0 1 50 100 %_BS +%_0 0.55 0.9 0 1 50 100 Bs +BD +%AI5_EndGradient +%AI5_End_NonPrinting-- +%AI5_BeginPalette +0 0 Pb +1 1 1 1 ([Registration]) 0 Xs +([Registration]) Pc +0 0 0 0 k +(C=0 M=0 Y=0 K=0) Pc +0 0 0 1 k +(C=0 M=0 Y=0 K=100) Pc +0 0.1 1 0 k +(C=0 M=10 Y=100 K=0) Pc +0 0.5 0 0 k +(C=0 M=50 Y=0 K=0) Pc +0 0.5 1 0 k +(C=0 M=50 Y=100 K=0) Pc +1 0.55 1 0 k +(C=100 M=55 Y=100 K=0) Pc +1 0.9 0.1 0 k +(C=100 M=90 Y=10 K=0) Pc +0.15 1 1 0 k +(C=15 M=100 Y=100 K=0) Pc +0.45 0.9 0 0 k +(C=45 M=90 Y=0 K=0) Pc +0.5 0.4 0.3 0 k +(C=50 M=40 Y=30 K=0) Pc +0.5 0.85 1 0 k +(C=50 M=85 Y=100 K=0) Pc +0.75 0.05 1 0 k +(C=75 M=5 Y=100 K=0) Pc +0.75 0.9 0 0 k +(C=75 M=90 Y=0 K=0) Pc +0.8 0.05 0 0 k +(C=80 M=5 Y=0 K=0) Pc +Bb +2 (Black, White) -7885 8587 0 0 1 0 0 1 0 0 Bg +0 BB +(Black, White) Pc +Bb +2 (Chrome) -7885 8587 0 0 1 0 0 1 0 0 Bg +0 BB +(Chrome) Pc +Bb +2 (Rainbow) -7885 8587 0 0 1 0 0 1 0 0 Bg +0 BB +(Rainbow) Pc +Bb +0 0 0 0 Bh +2 (Yellow & Orange Radial) -7885 8587 0 0 1 0 0 1 0 0 Bg +0 BB +(Yellow & Orange Radial) Pc +(Brick) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p +(Brick) Pc +(Confetti) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p +(Confetti) Pc +(Leaves - Fall ) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p +(Leaves - Fall ) Pc +(Stripes) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p +(Stripes) Pc +PB +%AI5_EndPalette +%AI5_Begin_NonPrinting +Np +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Dog Tracks) +(1 /New Pattern 41/ 1 0 0 0 1 / 0 1 1 0 1 1 0 0 0 0 -90 -90 0 1 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Fall Leaf) +(1 /New Pattern 34/ 1 0.0745 0.9 0.9019 0.18 / 0 0.602793 1 1 0.1 1 1 -) - +(1 1 1 -180 180 1 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Ladybug) +(1 /New Pattern 10/ 5 0.898039 0 0 / 0 1 1 0 0.803911 1.2 1 -1.55 1.55 ) - +(1 -180 180 1 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Push Pin) +(1 /New Pattern 36/ 1 0.025 0.1 0.475 0 / 0 1 1 0 0.401676 1 1 -1.06145) - +( 1.06 1 -180 180 1 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Strawberry) +(1 /New Pattern 37/ 1 0 0 0 1 / 0 0.803911 1 1 0.803911 1 1 -0.5 0.5 1 ) - +(-75 75.419 1 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Twinkle Star ) +(1 /New Pattern 2/ 0 1 / 1 0.5 1 1 0.25 1 1 -0.5 0.5 1 0 0 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe PatternOnPath Brush Tool) +(Double Lines) +(1 / New Pattern 62/ New Pattern 63/ New Pattern 64/ / / 1 1 0.14 0.09 ) - +(0 / 1 0 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe PatternOnPath Brush Tool) +(Laurel) +(1 / New Pattern 65/ New Pattern 42/ New Pattern 67/ / New Pattern 69/ ) - +(1 0 0.55 1 0.3 / 1 0 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe PatternOnPath Brush Tool) +(Rope ) +(1 / New Pattern 1/ / / New Pattern 3/ New Pattern 6/ 5 0 0 0 / 1 0 1 ) - +(0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Arrow) +(1 / New Pattern 45/ / / / / 5 0.898039 0 0 / 2 0 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Marker) +(1 / New Pattern 8/ / / / / 0 0 / 1 1 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Paintbrush) +(1 / New Pattern 5/ / / / / 1 0.5 0.85 1 0.45 / 0 0 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Tapered Stroke) +(1 / New Pattern 83/ / / / / 1 0 0 0 1 / 1 1 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Type) +(1 / New Pattern 50/ / / / / 1 0.952941 0.94902 0.196078 0.0745098 / 1) - +( 0 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(6 pt Flat ) +(1 4 8 10 10 90 90 2 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(10 pt Oval) +(1 1 19 15 15 130 130 2 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(12 pt Oval ) +(1 7 17 45 45 0 0 2 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(20 pt Oval) +(1 20 20 20 100 40 80 0 2 1 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(25 pt Round ) +(1 10 40 100 100 0 0 2 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(50 pt Flat) +(1 40 60 0 0 44 44 0 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Brush Manager Order) +(Adobe Brush Manager Order) +( Adobe Calligraphic Brush Tool/ 6 pt Flat / Adobe Calligraphic Brush T) - +(ool/ 10 pt Oval/ Adobe Calligraphic Brush Tool/ 12 pt Oval / Adobe Cal) - +(ligraphic Brush Tool/ 20 pt Oval/ Adobe Calligraphic Brush Tool/ 25 pt) - +( Round / Adobe Calligraphic Brush Tool/ 50 pt Flat/ Adobe Scatter Brus) - +(h Tool/ Dog Tracks/ Adobe Scatter Brush Tool/ Fall Leaf/ Adobe Scatter) - +( Brush Tool/ Ladybug/ Adobe Scatter Brush Tool/ Push Pin/ Adobe Scatte) - +(r Brush Tool/ Strawberry/ Adobe Scatter Brush Tool/ Twinkle Star / Ado) - +(be ArtOnPath Brush Tool/ Marker/ Adobe ArtOnPath Brush Tool/ Tapered S) - +(troke/ Adobe ArtOnPath Brush Tool/ Arrow/ Adobe ArtOnPath Brush Tool/ ) - +(Paintbrush/ Adobe ArtOnPath Brush Tool/ Type/ Adobe PatternOnPath Brus) - +(h Tool/ Double Lines/ Adobe PatternOnPath Brush Tool/ Laurel/ Adobe Pa) - +(tternOnPath Brush Tool/ Rope /) . +%AI8_EndPluginObject +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_PluginGroupInfo +(Adobe Path Blends) (Adobe Blends Plugin) (Live Blends.aip) +%AI8_PluginGroupInfo +(Adobe PatternOnPath Brush Tool) (Adobe Pattern Brush Plugin) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe ArtOnPath Brush Tool) (Adobe Art Brush Plugin) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe Calligraphic Brush Tool) (Adobe Calligraphic Brush Plugin) (Calligraphic Brush Tool.aip) +%AI8_PluginGroupInfo +(Adobe Scatter Brush Tool) (Adobe Scatter Brush Plugin) (Scatter Brush Tool.aip) +%AI5_End_NonPrinting-- +%%EndSetup +%AI5_BeginLayer +1 1 1 1 0 0 1 0 79 128 255 0 50 Lb +(Layer 1) Ln +0 A +u
0 O +0 g +0 R +0 G +800 Ar +1 J 0 j 0.1 w 10 M [1 1 ]0 d
%AI3_Note:
0 D +0 XR +%AI5_File: +%AI5_BeginRaster +() 1 XG +[ 0.6 0 0 0.6 153 452.6997 ] 510 189 0 Xh +[ 0.6 0 0 0.6 153 452.6997 ] 0 0 510 189 510 189 8 1 0 0 0 0 +%%BeginBinary +XI +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF000000FF0000000000000000000000000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF00000000FF00FF00FF00000000FF00FF00FF00000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000000000000000000000FF00000000000000FF00FF0000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000000000FF00FF00FF00FFFFFFFF000000FF00FFFFFFFF +%00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000FF00FF00FF000000FF00FFFFFFFFFFFF00000000FFFF +%FFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF00000000FF00FF00FF0000FF0000FFFFFFFFFFFFFF000000 +%00FFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000000000FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%000000FFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000FF00FF000000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF0000FFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF000000000000FF00FF00FF00FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF0000FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF00FFFFFFFFFF0000000000FF00FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF0000FFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF00000000FF00FFFFFFFFFF000000000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF00FF00FF000000FF00FFFFFFFFFF00FF00000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF0000FF00FF00FF00FFFFFFFFFFFFFFFFFFFFFF00000000 +%FFFFFFFFFFFFFFFFFFFFFFFF00FF00FF000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF0000000000FF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFF +%0000FFFFFFFFFFFFFFFFFFFFFF0000FF00FF000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FF0000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF000000FF00FF00FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF000000FFFFFFFFFFFF00FF0000FF00FF000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF0000000000FF0000FF0000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF00FF00FFFFFF00000000FF0000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000FFFFFFFFFFFF00FF00FF00FF00000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00000000000000FF00FF0000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000FF0000FFFFFFFFFF00FF0000000000FFFFFFFF +%FF00FFFFFFFFFFFF00000000FF00FF00000000FFFFFF000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFF00FF0000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF0000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF00FFFF00FF00FFFFFFFFFFFFFF00FF00000000 +%00FFFF0000000000FFFFFF0000FF00FFFF00FF00FFFFFF000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFF000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%00000000FF000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FF00FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFF +%000000FFFFFFFFFFFF0000FF00000000FFFFFF0000FFFFFF00000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000FF00 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF00000000FF0000000000FFFF0000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000 +%0000FF00FF00FF0000FF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF000000FF0000FF00FF00FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF000000FFFFFFFFFF00FF00FF0000FFFFFF0000FFFFFF0000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 +%0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00000000FF00FFFFFFFFFF0000000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00 +%00FF0000FF0000000000000000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF00FF00FFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000000000FFFF0000000000FFFF00FFFFFFFF000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FFFF00FFFF00FF +%00FF00FF00FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000000000FF000000FF00FF00FF0000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF0000FF +%0000FFFFFF00FF00FFFF0000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF0000FF0000FF00FFFFFFFFFFFFFFFF00FF000000 +%000000FF00FFFFFFFFFF00FF0000FFFFFFFF00000000FF0000FFFFFF0000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF0000FF0000FF00 +%FF00FF00FF00FFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000FF00FF000000000000000000000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF00FFFF00 +%00FF0000FF0000FF0000FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF0000FF0000FF00FFFFFF00000000FF00FFFFFF +%FFFF0000000000FFFFFF00FF00FFFFFFFFFFFFFFFF0000FFFF00FFFFFFFF +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FF00FFFF00FFFF00FF +%00FF00FFFFFF00FF00FFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000000000FFFFFF00FF00FFFFFF00FF00FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FF00FF00FF00 +%FF0000FF00FF0000FFFF0000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF000000FF0000FF000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF00FFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFF +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFF00FFFF00FFFF +%FF00FF00FF00FF00FF00FF00FF00FF000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF00FFFFFFFF00000000000000000000FF0000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FF00FFFF00FF00 +%00FF00FF000000FF0000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF000000FFFF0000FFFFFFFFFF00FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF00FF0000FFFFFFFFFFFFFFFFFFFF0000FF00FFFF +%FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF0000FFFF00FF00FF00FF +%00FFFF00FFFFFFFF00FF00FFFF00FF00FF00000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF00000000000000FFFFFF00FF00FF0000000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF0000FF000000FF00FF +%FF00FFFF00FFFF00FF000000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF0000FF000000FFFFFFFF0000FF000000FF00 +%000000FF00FF00FFFFFFFF00FF00000000FFFFFFFFFFFFFFFFFF000000FF +%FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFF00FFFF00FF0000FF +%FFFF00FF00FF00FFFF00FF00FF00FF00FF00FFFF000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFF000000FF00FF00FFFF00FF00FFFF0000FF00FF00FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF0000FF00FFFFFFFF0000 +%00FF00FF000000FF0000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF000000FFFF00FFFFFFFFFF +%FFFFFF00FF00FF00000000FFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFF0000 +%FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFF00FF00FFFF00FF00FF +%00FFFF00FFFFFFFF00FF00FF00FF00FF00FF0000000000000000FFFFFFFF +%FFFFFFFFFFFF00FF00FF00FF00FF0000FF00FF00FF00FF0000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFF000000000000FF00FF00FF00FF000000FF00FF +%00FFFFFF00FF00FF00FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFF00000000FF00FF +%FF00FFFFFFFF00FF0000FF00FFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFF00 +%00FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF0000FF00FFFFFF00FF +%FF00FFFF00FF00FFFF00FFFFFF00FFFF0000FFFFFFFFFFFF00FF0000FFFF +%FFFFFFFFFFFF0000FF00FF00FF0000000000000000FF0000FF000000FFFF +%FFFFFFFFFFFFFFFF000000FFFFFFFFFF00000000FF00FF00FFFFFFFF0000 +%FFFFFF00FF00FFFFFF00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFF00FF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFF0000FFFFFFFFFFFFFF +%00FFFFFFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFF00FF00FF00FF00 +%FFFFFF00FFFFFFFFFF00FFFFFFFF000000FFFFFFFF00FF00FFFFFF000000 +%FFFFFFFFFFFF0000000000FF00FFFFFFFFFFFFFFFF00FF0000FF000000FF +%FFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFF00FFFFFFFFFF +%FFFFFF0000FFFFFF00FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFF00FF00FFFFFFFFFFFF +%FFFFFFFFFFFFFF000000FFFFFFFFFFFF000000FFFFFFFF0000FFFFFFFFFF +%FF00FFFFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF0000FF00FFFFFFFF00 +%FFFFFFFF00FFFF00FF00FFFFFFFF00FF00FFFFFFFFFF00FF000000FFFF00 +%00FFFFFFFF0000FF00FFFFFFFFFFFF00FF000000FFFFFFFF0000000000FF +%FFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFF00FFFF00FFFFFFFFFFFF0000FF +%FFFFFF00FFFFFFFF00FFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF00FFFF00FFFFFFFFFFFFFFFF000000FFFFFF0000FFFFFF +%FFFF00FFFFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFF00FF00FFFF00 +%FFFFFFFF00FFFFFFFFFF00FFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF00FF +%0000FFFFFF00000000FF0000000000000000FF0000000000FFFFFFFF00FF +%FFFFFFFF0000FFFFFF00FFFFFFFFFF00FF00FFFF00FFFFFFFFFFFFFF00FF +%FFFFFF00FFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF0000FFFFFFFF +%FF00FF00FF00FFFF0000FF00FFFFFFFFFFFFFFFFFFFF000000FFFF0000FF +%FFFFFF00FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FF0000FFFFFF00 +%FFFFFFFF00FFFF00FFFFFFFFFF00FF0000FFFFFFFFFF00FF00FFFFFFFFFF +%FF0000FF00000000000000FF00FF00FFFFFF00FF0000FF00000000000000 +%FFFFFF0000FFFFFFFF00FFFFFFFF00FFFF00FFFFFF00FFFFFFFFFF00FFFF +%FFFF0000FFFFFFFFFFFF0000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF00FF00FF000000 +%000000FF00FF0000FF00000000000000FFFFFFFFFF00FFFFFFFF00FFFF00 +%00FFFF0000FFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFF00FFFFFF00 +%FFFFFFFFFF00FFFF00FF00FFFF00FFFFFFFFFFFFFF00FFFF00FFFFFFFFFF +%FFFF00FF000000FFFF00FF00FF00FF0000000000FF0000FF00FF00FF0000 +%FFFF0000FFFFFFFFFFFF00FFFFFFFF00FFFF00FFFF00FFFFFFFFFF00FFFF +%FFFFFF00FFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +%00000000FFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFF000000FFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFF00000000FF00000000FF0000FF +%FF00FFFF00FFFFFF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFF +%00FFFFFFFF00FFFF00FF00FF00FFFF00FFFFFFFFFFFF00FF00FFFFFFFFFF +%FF00FF000000000000FF00FF00FF00FFFFFFFFFF00FF00000000FF000000 +%00FF00FFFFFFFFFFFFFF0000FFFF00FF00FF00FFFF00FFFFFFFFFF00FFFF +%FFFF00FFFFFFFFFFFFFF0000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +%0000000000FFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF0000FFFFFF000000FFFF +%FFFF00FF00FF0000FF000000FFFFFFFFFFFFFFFFFFFFFF00FF0000FFFFFF +%000000FFFF00FFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFFFF00FFFF +%00FFFFFFFF00FFFFFFFFFFFF00FFFF00FF00FF00FF00FFFF00FFFFFFFFFF +%00FFFFFF0000FF00FF00FF00FF00FF0000000000FF00FF00FF000000FF00 +%0000FFFFFFFFFFFF00FF00FF00FFFFFF0000FF00FF00FFFFFFFF0000FFFF +%FFFF00FFFFFFFFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%000000000000FFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFF00FF00FF00FF +%000000FF00FFFFFF00FF00FFFFFFFFFFFFFFFFFFFF00FFFF00FF0000FFFF +%FFFF0000FFFF00FFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF00FF +%FFFFFFFFFFFF00FFFF00FFFF00FFFF00FF00FF00FF00FFFF00FFFFFFFFFF +%FF00FF00FF0000FF00FF00FF000000FF0000FF0000FF00FF0000FFFF00FF +%00FFFFFFFFFFFF00FF00FF0000FFFFFF00FF00FFFFFF00FFFFFFFF00FFFF +%FFFF00FFFFFFFFFFFF0000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000000000FFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF00FF00FFFF +%FFFFFFFFFFFFFF00FFFF0000FFFFFFFFFFFFFFFFFFFFFF00FFFFFFFF0000 +%FFFFFF0000FF00FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFF00FF +%FF00FFFFFFFF00FFFF00FFFF00FF00FF00FF00FF00FF00FF00FF00FFFFFF +%00FFFF000000FF000000000000FF00FFFFFFFFFFFF000000FF000000FF00 +%00FFFFFF00FF00FF0000FFFFFFFFFFFF00FF00FFFF00FFFFFFFF00FFFFFF +%FF0000FFFFFFFFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF00000000000000FFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF00FF00FF +%FFFFFFFFFFFFFFFFFF00FFFFFF00FF00FF00FFFFFFFFFFFF00FFFFFFFFFF +%0000FFFFFF000000FFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFF00 +%FF00FFFFFFFF00FFFFFF00FF0000FF00FF00FF00FF00FFFF00FFFFFF00FF +%00FFFF00FF00000000FFFFFF000000000000FF00FFFFFFFF00FF000000FF +%00FFFFFFFF00FF00FF00FF00FFFFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF +%FF00FFFFFFFFFFFF0000FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF00000000000000FFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFF00FF00 +%FFFFFFFFFFFFFF0000FFFF00FFFFFFFFFFFF00FF00000000FF00FFFFFFFF +%FFFF0000FF000000FFFF0000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFFFFFFFF +%00FFFFFFFFFFFFFFFFFF00FF0000FFFF00FFFF00FF00FF00FF00FF00FFFF +%00FFFFFF000000FFFF000000000000FF0000FF00000000000000FFFF0000 +%00FFFF0000FF00FF00FFFF00FFFFFFFF00FFFFFFFFFF00FFFFFF00FFFFFF +%FF00FFFFFFFFFFFF00FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFF00FF00FF +%00FFFFFFFFFFFFFFFF000000FF00FF000000FF00FF00FF00000000000000 +%FFFF00FF00000000FF00FFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFFFFFF +%FF0000FFFFFFFF00FFFFFFFF00FF00FFFF00FFFFFF00FFFF00FF00FF00FF +%00FFFF0000FF0000000000FFFF00FF00FF0000FF00FF0000FF000000FF00 +%00FF00FFFF00FFFFFFFFFF00FFFFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF +%FF00FFFFFFFFFFFF00FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000000000000000000000FF00FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFF00FF +%0000FFFFFFFFFFFF00FF00FF00FFFFFFFFFFFFFFFFFF0000FF00FFFF00FF +%000000000000000000FF0000FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFFFFFF +%FFFF00FFFFFFFF00FFFFFF000000FFFF00FFFFFFFFFFFFFFFF00FFFF00FF +%00FF0000000000000000000000FF00FF00FF00FFFF00FF000000FF0000FF +%00FFFF0000FFFFFF00FFFF00FFFFFFFFFFFF00FFFFFF00FFFF0000FFFFFF +%00FFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF0000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFF00 +%FFFF00FFFFFFFFFFFF00FF00FF00FFFFFFFFFFFF0000FFFFFF00FFFF0000 +%0000000000FF00FF0000FFFF00000000000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFFFF +%FFFFFF00FFFFFFFFFFFFFFFF00FFFFFF00FFFFFFFF00FFFFFFFF00FFFF00 +%FF00FF00000000000000FFFFFF0000FFFF00FFFFFFFF0000FF0000FF0000 +%0000FF00FFFFFFFF00FFFF0000FFFFFF00FF00FFFFFF00FFFF00FF00FFFF +%00FFFFFFFFFFFF00FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF00000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF +%FF00FF0000000000000000000000FFFFFFFF0000FFFFFFFF0000FFFF0000 +%0000FF00FF00FF0000FF00000000000000000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFF +%FFFFFF00FFFFFFFF00FFFFFFFF00FFFF00FFFFFFFFFF00FFFF00FFFFFFFF +%0000FF0000000000FF000000FF00FF00FF00FF00FFFFFFFF00000000FF00 +%00FF00FFFFFFFFFF0000FF00FFFFFFFFFFFF00FFFF0000FFFF00FFFFFFFF +%FFFFFFFFFFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF00000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000 +%000000FF00FF00000000FF00000000FFFF0000FF0000FF000000FF0000FF +%00FF00FF00FFFF0000000000000000FF00000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFF +%FFFFFF00FF00FFFFFF00FFFFFF00FFFF00FFFFFFFF00FFFFFF00FFFFFF00 +%FFFFFF000000000000FF00FFFF0000FF0000FFFF00FF0000FF0000000000 +%FF00FFFFFFFFFFFFFFFFFFFF00FFFFFFFF00FFFFFF00FFFFFFFF00FFFF00 +%FFFFFFFFFFFF00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FF0000 +%FF000000000000FF00000000000000000000FF00FF00FF00FF0000000000 +%FF00FF00FFFF00000000FF0000000000FFFF0000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFF +%FF00FF0000FFFF00FFFF0000FF00FFFFFF00FFFFFFFF00FFFF00FFFFFFFF +%00FFFF00000000000000FF00FF000000FFFF00FFFFFF00FF00FF0000FF00 +%0000FFFFFFFFFFFF0000FF00FFFFFFFFFFFF00FFFF0000FF00FF00FFFF00 +%FFFFFFFFFFFF00FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FF00FF0000FF +%0000FF00FF00FF00000000000000000000FF000000FF00000000FF00FFFF +%00FF00FF0000000000000000FF0000FF0000000000FF00FFFF000000FFFF +%FFFFFFFFFF00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFF +%00FF00FF0000FF00FF00FFFFFF00FFFFFFFFFFFFFFFF00FFFF00FFFFFF00 +%00FFFF0000000000FF00FFFF0000FFFFFFFF00FF00FF00FF00FF00000000 +%FF00FFFFFFFFFFFFFFFFFFFF00FFFFFFFF00FFFFFF00FFFF00FF00FFFF00 +%FFFFFFFFFF00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FF0000FF0000FF00 +%00FF0000000000000000000000000000000000FFFF0000000000FFFF00FF +%FF00FF00FF0000000000FF00000000000000000000000000000000000000 +%FFFFFFFF00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF +%FF00FFFFFFFF00FFFF000000FF0000FFFF00FFFFFFFF00FFFF00FFFFFFFF +%00FFFF000000FF00FFFF00FF0000FFFF00FFFF00FF00FFFFFF00FF00FF00 +%0000FFFFFFFFFFFFFF00FF00FFFFFFFF00FF00FFFF00FFFF00FF00FF00FF +%FFFFFFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF00000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FF0000FF00FF0000FF00 +%FF0000000000FF000000000000FF00FF00FF00FF000000FF00FF00FF0000 +%0000FF00000000000000000000FF00000000000000000000000000000000 +%00FFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF +%00FF00FFFF00FFFF00FF00FFFFFF00FFFF00FFFFFFFF00FFFF00FFFFFF00 +%FFFFFF00000000FF00FF00FF0000FF00FF00FF0000FFFF00FFFF000000FF +%0000FFFFFF00FF00FF00FF00FF0000FFFF00FFFFFFFFFFFFFFFF00FF00FF +%FFFFFFFF00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF00000000000000000000000000000000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00000000FF0000FF00FF00FF00000000FF0000 +%00000000FFFF00FFFF00FF00FF0000FF00FFFF0000FF0000FF00000000FF +%00FF000000000000000000FFFF0000000000000000000000000000000000 +%00FFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00 +%FF00FFFFFFFF00FFFFFF000000FF00FFFFFF00FF00FF00FF0000FF00FF00 +%00FFFF000000FF00FF00FF0000FF00FF00FFFF000000FFFF00FF00000000 +%0000FF00FF00FFFF00FF00FF00FF00FF0000FFFF00FFFF00FFFFFF00FFFF +%FFFFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF00000000000000000000000000000000000000000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF000000FF00000000FF0000FF000000FF00FF0000FF +%00FF00FF0000FFFF00FF00FF0000FFFF00000000FF0000FF0000FF000000 +%FF00000000000000FFFFFF00000000FF00FF0000FF000000000000000000 +%00FF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%FFFF00FFFFFF00FFFFFFFFFFFFFF00FFFFFF00FF00FF00FF0000FFFFFF00 +%FFFFFF0000000000FF00FF000000FF00FF000000FF00FF00FF0000000000 +%000000FF00FF00FFFF00000000FF00FF0000FFFF00FFFF00FF00FF00FFFF +%FFFFFF00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF00000000000000FF0000000000000000FF0000000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF000000000000FF00FF000000FF0000FF0000FF00FF0000 +%0000FF00FFFFFF00FF00FF0000FF00000000FF0000FF000000000000FFFF +%000000FF000000FFFF00FFFFFFFFFF000000000000000000000000000000 +%000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%00FFFFFFFFFFFF00FFFFFF00FFFF00FFFFFF00FF00FF00FF00FF00FF00FF +%000000000000FF0000FFFF0000FF00FF00FFFF00000000FF00FF00000000 +%FF00FF0000FFFF000000FF00FF00FF00FF00FF00FF000000FF00FF00FFFF +%FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF00000000FF0000FF0000FF00FF000000000000FF00000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF0000000000FF00FF000000FF00FFFF00FF0000FF0000FF0000 +%FF00FF000000FFFFFFFF0000FF0000000000000000000000FF00FF00FF00 +%0000FF0000FFFF0000FFFFFFFFFFFFFF00FF00FF00000000000000000000 +%0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +%0000FFFFFFFFFF00FFFFFFFF00FFFF00FF000000FFFFFF00FF00FFFFFF00 +%FFFFFF00FF0000FFFF000000FF00FF00FF00000000FF0000FF0000000000 +%000000FF0000FF00FF00FF0000FFFF0000FF00FF00FFFF00FFFF0000FFFF +%FFFF00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%00000000000000FF00FFFF00FF00FF00FFFF0000000000FF000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF00000000FF000000FF00FF0000FF00FF000000FF00FF00FF00FF +%00FFFFFFFFFF00FF000000FF0000FF0000000000FFFF00FF00FF000000FF +%00FF0000FFFFFF00FF00FFFFFFFFFF0000000000FF000000000000000000 +%0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FF00FF0000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%00FF00FFFFFFFF00FFFFFFFF00FFFF0000FF00FF00FFFF0000FF00FFFF00 +%FF00FF000000FF0000000000FF00000000FF00FF0000FF0000FF00000000 +%0000FF00FFFFFFFFFFFFFF00FFFFFF00FFFFFF00FF000000000000FFFF00 +%FF00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%0000000000000000000000FF00FF00FF0000FF000000000000FF0000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF000000FFFFFFFF00FF00FF0000FFFF00FFFF0000FF00FF00FFFF0000 +%FFFFFF00FF00FF0000FF00000000FF0000FF0000FF00FF00FF0000000000 +%000000FF00FFFF0000FFFFFFFFFFFF00FF0000FF00FF0000000000000000 +%00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF00FF00FF00000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%0000FF00FFFFFFFF00FFFFFF0000FF00FF00FF00FFFFFF00FFFF00FFFFFF +%00FFFF00FFFF000000FF000000FF00FFFFFFFFFF000000FF0000FF000000 +%000000FF00FF00FFFFFFFF00FFFFFF00FFFF0000FFFF00FFFF00FF00FFFF +%00FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%FF00000000FF00FF0000FF00FF00FF0000FF0000000000FF0000000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000FF0000FF00FF00000000FFFF0000FF0000FF00FF0000FF0000FF +%FFFF00FFFFFF000000000000FFFFFF00FFFF0000FFFF00FF00FF00000000 +%FFFF000000FF00FFFF00FFFFFFFFFFFF00FF00FF00000000000000000000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFF00FF00FF00FF00FF000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000FFFFFFFF00FFFFFFFF00FFFF0000FF0000FFFF00FFFF00FFFFFF +%00FFFF00000000FFFF00FFFFFF00FFFFFFFFFFFFFFFF0000FF0000000000 +%00FFFFFFFFFFFFFFFFFFFF00FFFFFF00FFFF00FFFFFFFFFF000000FF0000 +%0000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000 +%FF0000000000000000FF00FFFF00FF00FF00FF0000000000FF0000000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF0000FF00FFFFFF00FFFF00FF000000FF00FF00FF0000FF00FFFFFFFF00 +%00FFFFFF0000FFFFFF00FF0000FFFF00FFFF000000FFFF00FF0000000000 +%FFFFFF000000FFFF00FF0000FF00FF00FF00FF00FF000000000000000000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF0000FF00FFFF0000FFFFFFFFFF000000FF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF00000000FFFFFF00FFFFFFFF0000FF00FF00FF00FFFF00FFFFFF00FFFF +%00FFFF00000000FFFF00FFFF00000000FF00000000000000FFFFFF000000 +%FFFFFFFF00FF00FFFFFFFF00FFFFFFFFFFFF00FFFFFFFF00FF00FF00FF00 +%FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FF +%00FF000000FF00FF0000FF00FFFFFFFFFF0000000000FF0000FF00000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF0000000000FFFF00FF00000000FFFF0000FF0000FF00FF0000FF000000 +%FF000000FFFFFF00FF00FF00FFFFFF0000FFFF00000000FF00FF0000FF00 +%00FF00FF00000000FFFF00FF00FF00FFFFFF00FF00000000000000000000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FF0000FFFF00FFFF00FF0000FF00FFFF00FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF0000FF00FFFFFFFFFFFFFFFF00FF0000FFFF00FFFFFF00FFFF00FFFF +%00FFFF0000FFFF00FF0000000000FF00FF00FFFF00000000000000000000 +%FFFFFFFF00FFFFFFFFFFFFFFFFFF00FFFFFF00FFFFFFFF0000FFFF0000FF +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00000000 +%000000000000FFFFFFFFFFFF00FFFFFFFF00FF00000000FF00000000FF00 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000FF00FFFF00FF0000FF00FF00FF00FFFF00FF00FF0000FF0000FF +%00FFFF00FFFF00FF00FF00FF00FFFFFFFFFF000000FF000000FFFF000000 +%0000FF00FF00FFFF00FFFFFF0000FFFF0000FF00FF000000000000000000 +%00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF00FFFF00FFFF00FF00FF00FF00FFFF00FF0000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF0000FF00FFFF00FFFFFFFFFFFF00FFFFFFFF00FFFFFFFFFF00FFFF +%00FF0000FF0000FF000000000000FFFFFFFFFFFFFF00000000FFFF00FF00 +%00FFFFFF00FF00FFFFFF00FFFFFF00FFFF00FFFFFFFFFF0000FF0000FF00 +%FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000 +%000000FF0000FFFFFFFFFF00FF00FFFF000000FF00000000000000FF0000 +%FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000000000FF00FF0000FF00FFFF0000FF0000FF00FF00FFFF00FF00 +%FFFF00FF00FFFF00FF00FF0000FFFF0000FF0000FF00FFFFFFFF00FFFF00 +%FFFFFF0000FFFFFFFF00FFFFFFFFFFFFFFFF00FF00000000000000000000 +%000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFFFF00FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF000000FF00FF00FFFFFFFFFF00FF00FFFFFF00FFFF00FFFF00FF00 +%FF0000FF00FF000000FF000000FF000000FF0000000000FF00FF000000FF +%0000FFFFFF00FFFFFFFF00FFFFFF00FFFF00FFFFFFFF0000FFFFFF0000FF +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FF00FF000000 +%00FF0000FF00FFFFFFFFFFFF0000FFFF00FFFF000000000000000000FFFF +%00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF00000000000000FF00FF00FF0000FF0000FFFF0000FF00FF00000000FF +%0000FF0000FFFFFF00FF00FF0000FF00FFFF000000FF00FFFFFFFF0000FF +%00FF0000FF00FF0000FF00FFFFFFFFFF0000FF0000000000000000000000 +%000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF000000FFFF0000FFFFFFFFFFFF000000FF00FFFF0000FF00FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF00FF00FF00FF00FFFFFFFFFF0000FFFFFFFF00FFFFFFFF00FFFF +%000000000000FF00000000FF0000000000000000000000000000FFFF0000 +%FF00FFFF00FFFFFFFFFF00FFFF00FFFF00FFFFFFFFFF0000FF0000FFFF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000FF00FF0000 +%00000000FF00FFFFFFFFFF00FFFFFFFF0000000000FF00000000FF0000FF +%FF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF00000000000000FF00FF00000000FF00FFFF00FF00FF0000FF000000 +%FF00000000000000FF00FF0000FF00000000FF00FF00FF00FF0000000000 +%FF00FF0000FFFFFF0000FF000000FFFFFF0000FF00000000000000000000 +%0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF00FFFFFF0000FFFFFFFFFFFFFF0000FFFF00FFFF00FFFF00FF0000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF000000FF0000FFFFFFFFFFFF0000FFFFFF0000FF0000FF00FF +%000000FFFF000000FF00FF0000FF00FF000000FFFFFF0000FF0000FF00FF +%00FF00FFFF00FFFFFFFF00FFFF00FFFF00FFFFFFFFFF00FFFF00FFFF0000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000FF00FF00FF0000 +%FF00FF0000FFFFFFFFFFFF0000FFFF00FFFFFF000000FF000000FFFFFF00 +%FFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF000000000000000000FF00FF00FF00FF0000FF00FF00000000FF +%00FFFFFFFF000000000000FFFF00FF000000000000FF00FF00FF00000000 +%00000000FFFFFF00FF00FF00FF00000000FF00FF00000000000000000000 +%00FFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF00FF000000FFFFFFFFFFFFFFFF00FFFF00FFFFFF00FF00FFFF00FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF00FF00FF00FFFFFFFFFFFFFF00FFFFFFFF00FFFFFF00FFFF +%000000FFFF0000FF0000FF00FF00FF00FF00FFFF00FF00FF00FF0000FF00 +%00FF00FF0000FFFF00FFFF00FF00FF00FFFFFFFFFF0000FF00FFFFFF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFF00FF00FF00 +%0000000000FF00FF00FF00FFFFFF00FF000000FF00FF000000FFFF00FFFF +%00FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF00000000000000FF00FF0000FF00FFFF00FF00FF00FF00FF00FF +%00FF00FF00FFFFFF000000000000FFFF000000FF00000000000000000000 +%00000000000000FFFF00FF00FF00FF00FF00FF0000FF0000000000000000 +%0000FF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%0000FF00FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF00FFFF00FF00FF00FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF00FF00FF00FFFFFFFFFFFF00FFFFFFFF00FFFF00FF00FF +%0000FF0000FFFF000000000000FF00FF0000FF00FF0000000000000000FF +%FFFFFF00FF00FFFFFFFF00FF00FFFF00FFFFFFFFFF00FF0000FFFF0000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF0000FFFFFFFFFF00000000 +%0000000000FFFF00FF00FF00FF00FF0000FFFF0000000000000000000000 +%FF00FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF000000000000FF00FF00FF00FF0000FF00FF0000FF0000 +%00FF0000FFFF0000FFFFFF000000FFFF00000000FFFF0000000000000000 +%00000000FF00000000FF000000FF00000000000000000000000000000000 +%00FFFFFFFF000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%FF0000FFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFF00000000FF00FF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF00FF00FF00FFFFFFFFFF0000FFFFFF0000FF00FF00FF +%0000FF0000000000FF000000FF00FFFF00FF00FF00FF0000FF00FF000000 +%00FFFF000000FF00FF0000FF00FF00FFFFFFFFFF00FF00FFFFFF000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFF00000000FF0000 +%000000000000FF000000FFFF00FFFF00FF00FF0000FF00000000FF0000FF +%00FF00FFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00000000FF0000FF0000FFFF0000FF00FF00FF0000 +%000000FF0000FFFF0000FF0000FF00000000FF0000000000000000000000 +%0000000000000000000000000000000000000000FF000000000000000000 +%FFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%00FFFFFFFFFFFFFFFFFFFF00FFFFFFFF0000000000FFFFFFFFFFFF00FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00FF00FF00FFFFFFFFFF00FFFFFFFF00FFFF00FF00 +%FF00FF00FFFF00000000000000FFFFFF0000FF00FF00FF0000FF000000FF +%0000FFFF00FF00FF00FF00FF00FF00FFFFFFFF0000FF00FFFF000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFFFFFF00000000000000FFFF +%00000000000000FFFFFF00FF00FFFFFFFFFF0000000000FF000000000000 +%00FFFF00FFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00FF00000000FF00000000FF00FF000000FF00 +%0000FF0000FFFF00FFFF00FF0000FFFFFF000000FF0000FF000000000000 +%00FF00FF000000FF00FF00FF0000000000000000000000FFFF000000FFFF +%FFFFFFFFFFFFFF0000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF +%FF00FF00FFFFFFFFFFFF00FFFFFF0000FFFFFFFFFFFF00FF00FF00FF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF00FF00FF00FFFFFFFF0000FFFF00FF00FFFFFF00 +%00FF00FF000000FF00000000FF00FFFFFFFF00FF00FF00000000FF000000 +%000000000000FFFFFF0000FFFF00FFFFFFFFFF00FF00FFFFFF0000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFF00FFFF00000000FF00FF +%FF000000000000FFFFFFFF000000FF00FFFF00000000000000FF00000000 +%00FFFFFF00FF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000FF0000FF0000FF00 +%00000000000000FF000000FF0000FFFF00FF000000FF000000FF00000000 +%00000000FF0000000000FF00000000FF00000000000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000000000000000000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FFFF +%00FF00FF00FFFFFFFF00FF0000FFFFFFFFFFFFFFFF00FFFFFF00FF00FF00 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00FF00FF00FFFFFFFF00FFFFFF0000FFFFFF00 +%0000FF00FF00FF00000000000000FF00FF0000000000FF00FF0000FFFF00 +%FFFFFFFF00FFFFFF0000FF00FF00FFFFFFFF00FF00FFFFFF0000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFF0000FFFF00FFFF000000FF00 +%FF00FF0000000000FF00000000FF00FF00FF00FF0000FF0000000000FF00 +%00FFFFFF00FFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FF00FF000000 +%000000000000FF00FF00FF00FF000000FF0000FF0000FF000000FF000000 +%000000000000FF00000000000000FF0000FF00FF0000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FFFF00 +%FF00FF00FFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FFFFFFFF00FFFFFF0000FFFFFF +%0000000000FF000000000000000000FF00000000000000000000FFFF0000 +%00FFFFFF00FFFFFF00FF00FF00FFFFFFFFFF0000FFFFFF000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF000000FFFFFFFF0000FFFF0000FF00FF000000FF +%00FF00000000FF0000FF0000FF0000000000000000FF0000000000000000 +%FF00FFFFFF00FFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FF +%00000000000000000000000000FF0000FF00FF000000FF00FF0000FFFF00 +%00000000000000000000000000000000FF00000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFF +%FFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFF00FF00FF0000FF00FF00 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF00FFFFFF00FFFFFFFF00FFFFFF +%FFFF00FF00FF000000000000000000FF00FF00000000FFFF00000000FF00 +%0000000000FFFF00FFFF00FF00FFFFFFFF0000FFFFFF0000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF000000FFFFFFFF00FFFFFF0000FFFF00000000FF00 +%FF00FFFF000000FF000000FF00FFFF00FF00000000000000000000FF0000 +%FF00FFFFFF00FFFFFF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FF0000 +%0000000000000000000000FF00FF000000FF0000FFFF0000FF00FF0000FF +%0000000000FF000000FF0000000000FF0000FF00FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FFFFFFFFFFFF +%FFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF00FFFFFFFF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF00FFFFFF00FFFFFF0000FFFF +%00FF0000FF000000000000000000FF000000000000FF00FF00FF00FFFF00 +%FF0000FF00FFFF00FFFFFF00FFFFFFFF0000FFFFFFFF0000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000FFFFFFFF00FFFFFF0000FFFF00FFFF000000FF +%00FF0000FF000000FF00FFFFFF00FFFF0000000000FF00000000FF0000FF +%FF0000FFFFFF00FFFFFF00FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF000000FF00 +%000000000000000000000000000000000000FF00FFFF000000FF0000FF00 +%FFFF0000000000FF00FFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FFFFFFFFFFFFFF +%FF00FF00FF00FFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFF00FF00FF00 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFF00FFFFFFFF00FFFF +%000000FF000000000000000000FF00FF0000FFFF00000000FF0000FF00FF +%00000000FFFF00FFFF00FF00FFFFFF0000FFFFFF000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF000000FFFFFF0000FFFFFF00FF00FFFF00FFFF00000000 +%FF00FF0000FF00000000FFFF0000FF00FF000000000000000000FF000000 +%FFFF00FFFFFFFF00FFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFF +%00FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF0000000000FFFFFF00FF000000 +%0000FF00000000000000FF0000FF0000000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FFFFFFFFFFFFFF00 +%00FF00FFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFF00FF00FFFF00FF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FFFFFF00FFFFFF0000FF +%FF0000FF00000000FF0000000000FFFF00FFFFFF00FF000000FF0000FF00 +%FF000000FFFF00FFFF0000FFFFFF00FFFFFFFF000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000FFFFFFFF0000FFFFFFFF00FFFFFF00FFFF00FF0000FF +%00FFFF00FF00FF00FF000000000000FF000000000000000000FF0000FF00 +%FFFF0000FFFFFF00FFFFFF00FF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF00FFFFFFFF +%FF0000FFFFFFFFFFFFFF00FF00FFFFFFFFFF00000000000000FF0000FFFF +%00000000FF00000000FFFF00FF00FF000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FFFFFFFFFF000000FF +%FFFFFF0000FFFFFF0000FFFFFFFFFFFFFF00FF00FFFFFFFFFF00FFFF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FFFFFF00FFFFFF00FF +%0000FF00000000000000000000FF00FFFF00FF000000FF000000FFFF00FF +%00FF00000000FFFF0000FFFFFF00FFFFFFFF000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000FFFFFF0000FFFFFFFF00FF00FFFF00FFFF0000000000 +%00FF00000000FFFF00000000FF00FF000000000000000000FF00FF00FFFF +%FFFFFF00FFFFFFFF00FFFFFF00FF00FF0000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFF00FF00000000 +%00FF00FF000000FF00FF00FFFF0000000000FF0000000000FF000000FF00 +%00FF0000000000FF00FF00FFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FFFFFF000000FFFFFFFF +%FF00FFFFFFFF00FFFFFFFFFFFFFFFF0000FFFFFFFFFF00FF00FF00FF00FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFF00FFFFFF00FF +%0000000000000000FF0000000000000000FF0000FF0000FF00000000FF00 +%FF000000FF00FF0000FFFF0000FFFFFFFF000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF000000FFFFFF0000FFFFFFFFFF00FF00FF00FFFFFF00FFFFFF00 +%0000FFFF00000000000000000000FF000000000000000000FF0000000000 +%FFFFFF0000FFFFFF00FFFFFFFF00FF00FF00FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFF +%FF00FF00FF00FF000000FF0000FFFFFFFFFF00FFFFFFFFFF000000FFFFFF +%FFFFFFFF00000000FF00FFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FF0000FFFFFFFFFFFFFFFF +%FFFF0000FF00FFFFFFFFFFFF0000FFFFFFFFFF000000FF00FF00FF0000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFF00FFFFFF00 +%00FF0000000000FF0000FF00FF00FF00FF00000000FF0000000000FF00FF +%00FF000000FFFF00FFFF0000FFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF0000FFFFFF00FF00FFFFFFFF00FF00FF0000FFFFFF00FFFFFFFF +%00FFFF0000FF00FF0000000000FF00FF00000000000000FF00FF00FF0000 +%00FFFFFF0000FFFFFF00FFFFFFFF00FF00FF00FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFF00FF00 +%00FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF00FF0000FFFFFFFFFFFF +%FF000000FFFFFFFF00FFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF000000FFFFFFFFFFFFFFFFFFFF +%000000FF00FFFFFFFFFF0000FFFFFF0000FF00FFFFFF00FF00FFFF00FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF00FFFFFF00 +%00000000FF00000000000000FFFF00FF000000FFFFFFFF000000000000FF +%FF00FF00000000FFFF00FFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF0000FFFFFF00FF00FFFFFFFFFF00FFFF0000FFFFFF000000000000 +%000000FF00000000FF00FF00FFFFFFFF00FF00000000FF000000FF00FF00 +%00FFFFFF00FF00FFFF0000FFFFFFFF00FF00FF00FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFF00FF +%FFFFFFFFFFFFFFFF00FFFFFFFFFFFF0000000000FF00FFFF00FFFFFFFF00 +%0000FFFFFFFFFF00FFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FFFFFFFFFFFFFFFFFFFFFF00FF +%00FF00FF00FFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFF00FFFF00 +%000000000000FF0000000000FFFFFFFFFF00FF00FFFFFF00000000000000 +%FFFF00000000000000FFFFFFFF00FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF000000FFFF00FF0000FFFFFFFF00FF00FF00FF00FF00FF00FFFF0000 +%FF000000FF0000FF00FF00FF0000FFFFFF00000000000000FFFF00FF00FF +%00FF00FFFF00FFFFFFFF00FFFFFFFFFF00FF00FF00FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFF00FFFF00 +%FF00FFFFFFFFFFFFFFFF00FF000000FFFFFFFFFF00FF0000FFFFFF000000 +%FFFFFFFFFFFF00FFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF0000FF00FF00FFFFFFFFFFFFFFFFFF000000FFFF +%00FFFFFFFFFFFF000000000000000000FFFFFFFFFFFF00FFFFFF0000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFF00FF00 +%FF0000FF00000000FF0000FF00FF00FFFF00FFFF000000FF000000000000 +%0000FF00000000FFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000FFFFFF00FF00FFFFFFFFFF00FF00FF0000FF00FF000000FFFF00 +%000000FF00FF0000FF00FF00FF00FFFF00FF000000FF0000000000FF0000 +%FF00FF00FF0000FFFFFF0000FFFFFFFFFF00FF00FF00FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFFFFFFFFFFFFFF00FF +%00FF0000000000000000FF00FFFFFFFFFFFFFFFF00FFFFFFFF000000FFFF +%FFFFFFFF0000FFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FF00FF00FFFFFFFFFFFFFFFF000000FFFFFFFF +%FFFF0000000000FF00FF0000FFFFFFFF0000FFFFFF00FF0000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFF00FF +%0000000000000000000000FFFF0000FF00FF00FF00FF00FFFF0000000000 +%00000000FFFFFFFFFF0000FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF0000FFFF0000FF00FFFFFFFFFF00FFFF00FF00FFFFFFFF00FF00FFFFFF +%FF0000000000000000FF00FF0000FF00FF000000000000FFFF0000FF0000 +%FF00FF00FFFF00FFFFFFFF00FFFFFFFFFFFF00FF00FF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF00000000000000FF00 +%FFFFFFFFFFFFFFFF000000FF00FFFFFF00FF00FFFFFFFF0000FF00FFFFFF +%FFFF0000FFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00FF00FF00FFFFFFFFFFFFFFFF0000FFFFFFFF0000 +%000000FFFFFFFFFFFF00FFFF00FFFFFFFFFF000000FF00FFFFFF00FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFF00 +%FFFF00FFFF000000FF00FF000000FF00FFFFFF00FF00FF00FF0000000000 +%00FF00FF00FFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%0000FFFFFF00FF0000FFFFFFFFFF00FF00FF00FFFF00FFFF0000FF00FF00 +%00FF0000FF00FF00FF00FFFF00FF00FF00FF00FF0000FF0000FFFF000000 +%FFFF00FFFFFF00FFFFFFFF00FFFFFFFFFFFFFF00FF00FF00FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFFFFFFFF00FF +%FFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFF00000000FF00FFFFFFFF +%FF00FFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF0000FF00FF00FFFFFFFFFFFFFF00FFFFFFFF000000FFFF +%FFFFFFFFFFFFFFFFFFFFFF00FF000000FF00FFFF00FFFF00000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFF +%00FFFFFF000000FF000000FFFFFF00FFFF0000FFFFFFFFFFFF0000FF00FF +%0000FF00FF00FF0000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +%0000FFFF00FFFF00FFFFFFFFFF00FFFF00FFFF00FFFFFFFF00FFFF00FF00 +%FF00FF0000FF0000FFFFFF000000FF00FF0000FF00FF000000FFFF000000 +%FF00FF0000FF0000FFFFFF0000FFFFFFFFFFFF0000FF000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00FF00FF00FFFF00FFFFFF +%FFFF00FF00000000000000FFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFF00 +%00FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF00FF0000FF00FFFFFFFFFFFFFF00FF00000000FF00FFFFFF +%FFFFFFFFFF00000000FF00FF00FFFFFFFF00FF00000000FFFF00FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF +%FF0000FF00000000FF0000000000FFFFFFFF00FFFFFFFFFF00FF00000000 +%0000FF00FF0000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +%00FFFF0000FF0000FFFFFFFFFF00FFFF00FFFF00FFFFFFFFFF00FFFF00FF +%0000FFFF0000000000000000000000000000FF00000000FF000000000000 +%FFFF00FFFFFFFF00FFFFFFFF0000FFFFFFFFFF00FF00FF00FF00FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFF00FF0000FF000000 +%FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFF0000FF +%FFFFFF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000FFFF00FFFFFFFFFFFFFF000000FF00FF0000FF00FFFF +%FF0000FF00FFFFFFFF00FF00FF0000FFFFFFFFFFFF00FF000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00 +%FFFF000000000000000000FFFF00FFFF0000FFFFFFFFFFFF00FF0000FF00 +%000000FF00FF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%FF0000FFFFFF0000FFFFFFFF00FFFF00FFFFFF00FFFFFFFF00FFFFFF0000 +%FF000000FF00FF0000000000FF000000FF000000FF000000FF00FF0000FF +%00FF00FFFF00FFFF00FFFFFF00FF00FFFFFFFFFF00FF00FF000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFF00FFFFFF +%FFFFFFFFFFFFFFFF000000FF00FF000000FFFFFFFFFFFFFFFF0000FFFFFF +%FFFF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF0000FFFF00FFFFFFFFFF00000000FFFFFFFF00FFFF00000000 +%00FFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF +%0000FF00000000000000FF000000FFFF00FF00FFFFFFFFFF0000FF000000 +%000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF +%00FF0000FF0000FFFFFFFFFF00FFFF00FFFFFF00FFFFFF00FF00FFFFFF00 +%00FF00FFFF00000000FFFFFFFFFFFFFF000000000000FF0000FF0000FF00 +%FFFF00FFFFFFFFFF00FFFFFFFF00FFFFFFFFFFFF00FFFF00FF0000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFFFF0000FF0000FF +%FFFFFFFFFFFFFFFFFFFFFF00FF0000FFFFFFFFFFFFFFFF000000FFFFFFFF +%FF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF000000FF00FFFFFFFFFF000000FFFFFFFFFFFFFFFF0000FF00FFFF +%FFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFF00FF00FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%00FF00000000FF00000000FF00FFFFFFFF00FFFFFFFFFFFF000000000000 +%00000000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%FF0000FFFF0000FFFFFFFF00FFFFFF00FFFFFFFFFFFFFFFFFF00FFFFFFFF +%00000000000000000000FFFF00FF00FF0000000000FF00FFFF0000FFFF00 +%FFFF00FFFF00FFFFFF00FFFF0000FF00FFFFFFFFFFFFFFFF00FF0000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFFFFFFFF00FFFFFF +%FFFFFFFFFFFFFFFF0000000000FFFF00FFFFFFFF00000000FFFFFFFFFF00 +%FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF000000FF00FFFFFFFFFF0000FFFFFFFFFFFFFFFF000000FF00FF0000 +%00FFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%00000000FF0000FF0000000000FFFFFFFFFF00FF0000FF00FF000000FF00 +%FF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF +%00FF00FF00FF00FFFFFFFF00FFFFFFFFFFFF00FFFFFFFF00FF00FFFFFFFF +%000000FFFFFF00000000000000FF00000000FFFF00FFFF00000000FFFF00 +%FFFF00FFFFFF00FFFF00FF00FF00FF0000FFFFFFFF00FFFFFF00000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FFFFFFFFFFFF0000FF00FF00 +%FFFFFFFF00FF0000FFFFFF00FF0000FF00FF000000FFFFFFFFFFFFFF00FF +%FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000FF00FFFFFFFF0000FFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFF +%FFFFFFFFFF00FF00FF000000FF0000FF00FFFFFF00FF0000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%0000000000FF0000000000FF00FF00FF00FFFF00FF0000000000000000FF +%0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000 +%0000FF000000FFFFFFFFFF00FFFF00FFFFFF00FFFFFFFFFFFFFFFFFFFF00 +%0000000000FF0000FFFFFFFFFFFFFFFF00FFFFFF00FFFF00000000FFFF00 +%FFFFFF00FFFF00FFFF0000FF0000FFFF00FFFFFFFF00FFFFFFFF000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00000000FF00FFFFFFFF00FF00FF +%00000000FFFFFFFFFFFFFFFF00FF00000000FF00FFFFFFFFFFFFFF00FF00 +%00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF0000FF00FFFFFF0000FFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFF0000 +%0000000000FF00FFFFFFFFFF00FFFF00FF00FF00FFFF0000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF0000000000FF0000000000FF0000FF00FF00FF0000FF00FF00000000FF +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00 +%FFFF00FF00FFFF00FFFF0000FFFF00FFFFFF00FFFFFFFF00FF00FF000000 +%000000FF0000FF000000FFFFFFFFFF00FF000000FF000000FFFF00FFFF00 +%FFFFFF00FFFF00FFFFFF00FF00FF00FF0000FFFFFF00FFFFFFFF00FF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF00000000FFFF00FFFF00FF000000FF00FFFF +%FFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFF00FFFFFFFFFFFFFF00FF00FF +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%00000000FFFFFF00FFFFFFFFFF00FF00000000FFFFFFFF0000000000FFFF +%FFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF0000FF000000000000FF0000FF00FF00FF0000000000000000000000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00FF +%00FFFF000000000000FF00FFFFFF00FFFFFF00FFFFFFFFFFFFFF00FF0000 +%00000000FF0000FF0000FF00FF00000000FF0000000000FF000000FF00FF +%00FFFF00FF0000FFFF00FF00FF0000FFFF00FFFFFFFF00FFFFFFFF00FF00 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF00FF000000FFFFFFFFFF00FFFF00 +%FFFFFFFFFFFF0000000000FFFFFFFF0000FFFFFFFFFFFFFFFF00FF00FF00 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%0000FFFFFF0000FFFFFFFFFF00FF0000FFFFFFFF00FF00FFFFFF00FF0000 +%00FFFFFFFFFFFFFFFF00FF00000000000000FF00FF0000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF000000FF0000000000FFFF00FF00FF00FFFF00FF00000000000000 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00FFFF +%FFFF0000FFFF00FFFF00FF00FF0000FFFF0000FF00FF00FF0000FF000000 +%0000000000FF0000FF00000000FF00FF00FF000000FFFF0000FF00FFFFFF +%00FFFFFF00FF00FFFFFF000000FF00FFFF00FFFFFFFF00FFFFFFFFFF0000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF0000000000FF00FFFFFF0000FFFFFFFF0000FF +%00FF0000000000FFFFFFFFFFFF000000FFFFFFFFFFFFFFFF00FF00FF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%00FFFF0000FFFFFFFFFFFF000000FFFFFFFF00FFFFFFFFFFFFFFFF00FF00 +%00000000000000FF00FF00FFFFFFFFFFFFFFFF00FFFF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF00000000FF000000000000FF00FF0000FF0000FF00000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFF +%FFFF00FF00FF000000FF00FF00FF00FF00FF00FF000000FFFF0000FF00FF +%00000000FF00FF00000000FFFF00FF00FF0000FFFF0000FF000000000000 +%FF00FF00FF00FF00FF00FF00FFFFFF00FFFF00FFFFFF00FFFFFFFFFFFF00 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF0000FFFFFF00FFFFFFFFFFFF00000000000000 +%0000FFFFFFFFFFFF00FFFF000000FFFFFFFFFFFFFFFFFF00FF00FF0000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00 +%FFFF00FFFFFFFFFFFF000000FFFFFF0000FF00FFFFFFFFFF000000FF00FF +%FFFFFFFFFFFFFF00FF00FFFF00FFFFFFFFFFFF00FF00FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000000000FF0000000000000000FF00000000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00FFFFFF +%FFFF00FF00FF00FFFF00FFFF0000FF00FF00000000FFFF00FF00FF000000 +%0000000000FF00FF00FF000000FF00FF000000FF00FF0000000000FFFFFF +%00FFFFFF0000FF00FF00FF00FFFFFF00FFFFFFFFFFFFFF00FFFFFF00FFFF +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%00FFFFFF00FF00FF00FF00FFFFFFFFFFFFFFFFFFFFFF00FF00FF00FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF +%FF00FFFFFFFFFF000000FFFFFFFF00FFFF00FF0000000000FFFFFFFFFFFF +%00FFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF00000000000000000000000000000000000000000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFFFF +%FFFF00FFFFFF00FFFF00FFFF0000FF00FF00FF00FF00FFFF00FF00FF0000 +%00000000FF00FFFF000000FFFF00FF00FF0000FF00FF00FF000000FFFF00 +%00FF00FF0000FF00FF00FF00FFFFFF00FF000000FFFFFF00FFFFFFFF00FF +%00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00FFFF00FF00FFFFFF00FF0000FFFFFF0000FF +%FFFFFFFF00FF000000FFFFFFFFFFFFFFFFFFFF000000FF00FF00FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFF +%00FFFFFFFF000000FFFFFFFFFFFFFF0000FF00FFFFFFFFFFFFFFFFFF00FF +%FFFFFFFFFFFFFFFF0000FF00FFFFFFFFFFFF00FF00FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00FFFFFFFF +%FF00FF00FFFFFFFFFFFFFFFF00FFFF0000FF00FF00FF00FF00FFFFFF0000 +%FF000000FFFF00FFFF0000FF00FF00FF0000FF00FF00FF00000000FFFFFF +%00FFFFFF00FFFF00FFFFFFFF00FFFF00FFFFFF00FF00FFFF00FFFF00FF00 +%FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF0000FF00FF00FF000000FFFFFFFFFF0000FFFFFF +%FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFF0000FF00FF00FF00FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFF00 +%FF00000000FFFFFFFFFFFFFF000000FFFFFFFFFF00FFFFFFFFFF0000FF00 +%0000FF00FF00FF00FFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFFFFFF +%FF00FF00FF00FFFF00FFFF00FF00FFFFFFFF00FF00FFFFFFFFFFFFFF0000 +%00FF00FF00FFFFFF00FF00FFFF00FFFF0000FF00FFFF00FF000000FFFF00 +%FFFFFFFF00FFFF00FFFFFFFF00FFFF0000FF000000FFFF00FFFFFFFF00FF +%FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF00FF00FF00FF00FFFFFFFFFF0000FFFFFFFFFFFF +%FFFF00FFFFFFFF00FFFFFFFFFF000000FFFFFF00FF00FF00FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFF00FF +%00FF0000000000FF0000FF000000FF0000000000FF0000000000FFFF00FF +%00FF000000FF00FF0000000000FF00FFFFFF0000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00FFFFFFFFFF +%00FFFF00FF00FFFF00FFFFFF00FFFFFFFF00FFFFFFFFFFFFFFFFFFFF00FF +%00000000FF00FF00FF00FF00FFFFFFFF0000FFFF00FF0000000000FFFF00 +%00FFFFFF00FFFF00FFFFFFFFFFFFFFFF00FFFFFF00FF00FF0000FF00FF00 +%FFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FFFF00FFFFFFFFFF00FF00FFFFFFFFFFFFFF00 +%00FFFFFF0000FFFFFFFF000000FFFFFFFFFF00FF00FF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF00FFFF +%00000000FF00000000FFFF0000FF00000000000000FFFFFFFFFF00FF00FF +%FFFFFFFFFFFF0000FFFFFFFFFF00FF00FF0000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFFFFFFFFFF +%00FFFF00FF00FF0000FFFF00FFFFFFFFFFFF00FF0000FFFFFFFFFFFF0000 +%00FF0000FF00FF00FFFFFF00FFFF000000FF00FF00000000000000FFFF00 +%FFFFFFFF00FFFF00FFFFFFFF00FFFFFF00FF0000FFFF00FFFF0000FF00FF +%FFFFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FF00FFFF00FF00FFFFFFFFFFFFFF000000FFFF +%FFFFFFFFFFFF00FF0000FFFFFFFFFFFFFF00FF000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FF0000FF00 +%000000000000FF0000000000FF00FFFFFF0000000000FFFFFFFFFFFF00FF +%FFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00FFFFFFFFFFFF +%00FFFF00FFFFFFFF00FFFFFF00FFFFFFFF00FFFFFFFFFFFFFFFFFFFF00FF +%0000000000FF0000FF00FFFF0000FF0000FFFF00FF000000000000FFFFFF +%00FFFFFF00FFFFFF00FFFFFFFF00FFFF00FFFFFF00FFFFFF00FF00FFFFFF +%FFFFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00FF00FF00FFFFFFFFFFFFFFFF000000FFFFFFFFFF +%FFFFFF00FF00FF00FFFFFFFFFFFFFFFF00FF00FF00FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFF +%00FF0000000000FFFF00FF0000FF000000FFFF00FF000000000000000000 +%00000000000000000000FF000000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFFFFFFFFFF +%FFFFFFFF00FFFF0000FFFF00FFFFFFFFFFFF00FF0000FFFFFFFFFF00FF00 +%00FF00000000FFFFFFFF00FF00FF00FF00FF000000FF0000000000FF0000 +%FFFFFFFF00FFFF00FFFFFFFFFF00FFFF00FFFFFFFF00FFFFFFFF00FFFFFF +%FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FFFFFFFF00FF00FF000000FFFFFFFFFFFFFFFF +%FFFFFFFF0000FFFFFFFFFFFFFFFFFF00FF000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FF0000000000FF +%000000FF0000000000FF0000FF00FF0000FFFF0000FF000000FF00FF0000 +%0000000000000000000000FF00FF00000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFFFFFFFFFF00 +%FFFF00FF00FFFF00FFFFFF00FF00FFFFFF0000FFFF00FFFFFFFF00FF0000 +%0000FF0000FF0000FFFFFFFF00FFFF0000FFFFFF00000000000000FF00FF +%00FFFF00FFFFFFFF00FFFFFFFF00FFFFFF00FFFFFFFFFFFFFFFF00FFFFFF +%FFFFFFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00FF00FF0000FF00FF00FFFFFFFFFFFFFFFFFFFFFF +%FF00000000FFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00000000000000 +%00000000000000000000FFFF0000FF00FF000000FF00FF0000FF00000000 +%000000000000000000FF00000000000000000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFFFFFFFFFF00 +%FFFFFF0000FFFF00FFFFFF00FFFFFFFFFFFF00FFFF00FFFFFF0000FFFF00 +%FF0000FF000000FF00FFFF00FF00FF00FF0000000000000000000000FF00 +%FF00FFFF00FFFFFFFFFFFFFFFF00FFFF000000FFFFFF00FFFFFFFF00FFFF +%FFFFFFFF00FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FF00FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFF00 +%00FFFFFFFF00FF00FF00FFFF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF0000FF0000000000 +%0000FF000000000000000000FF000000FF0000FF0000FF000000FF00FF00 +%FF00FF000000000000000000FF00FF0000000000000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00FF0000000000000000000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFFFFFFFFFF00FF +%FFFFFF00FFFFFF00FFFFFF00FFFFFFFFFFFF00FFFFFFFFFF00FFFF00FF00 +%00FF000000FF0000FF00FF0000FF00FF00FFFF0000000000FF0000FFFF00 +%FF00FF00FF00FFFF00FFFFFF00FFFF00FF00FFFFFFFF00FFFFFFFF0000FF +%FFFFFFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00FF00FF00FFFFFF00FFFFFFFFFFFFFFFF0000FF00 +%FFFFFFFF00FF00FF00FFFF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000FF00000000FF00 +%00000000FF0000000000000000FF000000FF000000FF00FFFF0000FF0000 +%00FF0000000000000000FF0000FF0000FF0000FF0000FF00FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF00FFFFFFFFFFFF00FF +%FFFFFF00FFFFFF00FFFFFFFFFF00FFFFFFFF00FFFF00FF00FF0000FFFF00 +%0000FFFF00000000000000FF0000FF000000000000FFFF000000FFFFFF00 +%FFFF00FF00FF00FF00FF00FFFF00FFFF0000FF00FFFFFFFFFFFFFFFFFF00 +%FFFFFFFFFF00FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FF00FF00FF00FFFFFFFFFFFF0000FFFFFF00FF +%FFFFFFFFFF00FF00FFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000 +%0000FFFFFFFFFFFFFFFFFF000000FFFF0000000000000000000000FF00FF +%00FF000000FF00FF00000000000000FF0000FF000000FFFFFF0000FF00FF +%FF00FFFF0000FF000000FF000000FF00FF00000000FF00000000FF00FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFF00000000000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFF0000FFFFFFFFFFFF00FF +%FFFFFF00FFFFFF00FFFFFF00FFFFFFFFFFFF00FF00FF00FF00FFFFFFFF00 +%FF000000FF00FFFFFFFF00FF000000000000FFFFFF00000000FF00FFFF00 +%FF00FFFFFF00FFFF00FF00FF00FF00FF0000FF00FFFFFF00FFFFFFFF00FF +%00FFFFFFFFFFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF00FFFFFFFFFFFF0000000000FFFFFFFF00FFFF +%FFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000 +%000000FFFFFFFFFFFF000000000000000000FF0000000000000000000000 +%0000000000000000000000000000000000000000FF00000000FF0000FF00 +%00FFFF0000FF0000000000FF00FF00FF0000FFFF0000FF0000FF00000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFF00000000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFFFFFFFF0000FF +%FFFFFF00FFFFFFFF00FFFF00FF00FFFFFFFFFFFF0000FF00FF00FFFFFF00 +%00FF000000FF000000FFFFFFFFFFFF00FF000000000000FF000000FFFF00 +%FFFFFF00FF00FF00FF00FF00FF00FF00FF00FFFF00FFFF00FFFFFFFF00FF +%FF00FFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FF00FF00000000FFFFFFFFFFFFFF0000FFFFFF +%FFFFFFFFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000 +%00000000FFFFFFFF0000000000000000000000000000000000FF000000FF +%00000000FF000000000000000000000000FFFF00000000FFFF000000FFFF +%FF0000FFFF0000FF000000FF0000FF00FF0000FF00FF00FF00FF00000000 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFF000000000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FFFFFFFFFFFF00FFFF +%FFFF00FFFFFFFF00FFFFFF00FF00FFFFFF0000FF00FF00FFFFFFFFFFFF00 +%FF00FFFF0000FF00FF0000FF0000FF000000FF00FF00FF0000FF00FF00FF +%FFFFFFFFFF00FFFF00FF00FF00FF00FFFF00FFFF00FFFF00FFFFFFFFFFFF +%FF00FFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF00FF00FF00FFFF00FFFFFFFFFF00FFFFFFFFFF +%FFFFFFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%000000000000FF00000000000000000000FF0000FF00FF00FF00FF00FF00 +%FFFF0000000000000000000000000000000000FF000000FFFF0000000000 +%00FFFFFF00FF00FF00FF00FF00FF00FF00FF00FFFF00FF0000FF00FF0000 +%0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFF000000000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FFFFFFFFFFFF00FFFF +%FFFF0000FFFFFFFF00FF00FF0000FFFFFF00FF00FF00FFFFFFFFFFFF0000 +%00FF000000FF00FF00FF0000000000FF00FF00FF00FF00FF0000FFFFFF00 +%FFFFFFFFFF00FFFF00FF00FF00FF00FFFF00FFFFFFFFFFFF00FFFFFFFF00 +%FFFF00FFFFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF00FFFF00FF00FFFFFF00FFFF00FFFFFFFFFFFF +%FFFF000000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%000000000000FFFF0000000000000000000000FF00FF00000000FF00FF00 +%FF00FFFFFF0000000000000000FF00FF00FF000000000000FF00FFFF0000 +%00000000FFFFFFFF00FF00000000FF00FF0000FF00FF00FF00FF00000000 +%0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFF0000000000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FFFFFFFFFFFFFF00FFFF +%FFFF00FFFFFFFFFF00FFFF00FF00FF00FFFF0000FFFFFFFFFFFFFF00FF00 +%000000FF00000000FF00FFFFFFFFFF00FF00FF00FF000000000000FF00FF +%FFFFFFFFFF00FF00FFFFFFFFFFFF00FFFF00FF00FF00FFFF00FFFFFFFF00 +%FFFFFF00FFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000FF00FFFF00FFFF00FFFF0000FFFFFFFFFFFFFF +%0000FFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000000000000000000000000000000000FF0000FFFFFF000000FF00 +%00FFFFFF0000FF00FF0000000000FF00FF00FF00FF00000000FF0000FF00 +%FF00000000000000FF000000FF0000FF00FF00FFFF00FF00000000FF00FF +%00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFF00000000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFF00FFFFFF +%FFFF00FFFFFFFFFF00FFFF00FFFF00FFFFFFFF00FFFFFFFFFFFF0000FFFF +%0000FF00FF00FF0000FF0000000000FF00FF00FF00FFFF000000FF00FFFF +%FFFFFFFFFF00FFFF00FFFFFFFFFFFFFF00FFFF00FF00FFFF00FFFFFFFFFF +%00FFFFFF00FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF00FF0000FFFF00FF000000FFFFFFFFFFFF0000 +%FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF0000000000000000000000000000000000FF0000FFFFFFFFFF00FF +%0000FF00FF0000FF00FF0000FFFFFFFF00FF000000FFFF00FF0000FF00FF +%00FFFFFF0000FF0000FF00000000FF00FF0000FFFF0000FF0000FF00FF00 +%FF00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FFFFFFFFFFFF0000FFFF +%FFFF00FFFFFFFFFF00FFFFFF00FFFF00FFFFFFFF00FFFFFFFF0000FFFFFF +%00000000000000FF0000FF00FFFFFF00FF00FF00000000000000FF0000FF +%FFFFFFFFFF00FF00FFFFFFFFFF0000FF00FFFFFFFFFF00FFFF00FFFFFFFF +%00FFFFFF0000FF00FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF00FFFFFFFF00FF00FFFFFFFFFFFFFFFFFFFFFF +%FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF00000000000000000000000000000000FF00FFFFFFFFFFFFFFFF00 +%FFFFFFFF0000FFFFFF00FFFF00FFFFFFFF00FF0000FF0000FFFF0000FF00 +%FF00FFFF00FF00FFFF00FF00FFFF00FF00FF0000FF0000FFFF00FF0000FF +%00FF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFF00FFFFFF +%FF00FFFFFFFFFFFFFF00FFFF00FF00FFFFFFFFFF00FFFFFF0000FFFFFFFF +%FF00FFFFFFFF0000000000FF0000000000000000FF00000000FFFFFF0000 +%FF00FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFF00FFFFFFFFFF00FFFFFFFF +%00FFFF00FF00FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000FF00FFFF00FF00FF00FF00FFFF00FFFF00FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF00000000000000000000000000FF00FF0000FFFF0000FFFFFF +%00FFFF00FF00FF0000000000FFFF000000FF000000FFFFFFFFFF00FF00FF +%00FF00FFFF00FFFF00FF0000FF0000FF00FF00FFFF00FF00FF00FF0000FF +%00FFFF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFF00FFFFFFFF00FFFFFF +%FF0000FFFFFFFFFFFF00FFFF00FFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFF +%FF0000000000FFFFFFFF000000FF00FFFFFFFFFFFF00FF0000FFFFFFFF00 +%00FFFF000000FF00FFFFFFFFFF00FF00FFFFFFFF00FF00FFFF00FFFFFFFF +%00FFFFFFFF00FF0000FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF00FFFF00FF0000FF00FFFF00FFFF0000FF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF00000000000000000000000000FF00FFFFFF00FF00FF00FF +%FF00000000FF00FF0000FF0000FF00FF00000000FFFF0000FFFFFF00FF00 +%FF00FFFFFF000000FF000000FF0000FF00FF0000FF0000FFFF00000000FF +%00FFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFF00FFFFFF0000FFFFFF +%FFFFFFFFFF00FFFFFF0000FFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFF +%FF000000FF0000FF00FFFFFFFFFFFFFFFF00FF0000000000FFFFFFFFFFFF +%000000FFFFFF00FF00FFFFFFFF000000FFFFFFFF00FFFFFFFFFF00FFFFFF +%00FF00FF00FF00FFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FF000000FFFFFFFFFF0000FFFF00FF0000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF000000000000000000000000FF00FF00FF00FF00FF0000FF +%00FFFF000000FFFFFF0000000000FF00FFFF000000FFFF00FFFF0000FF00 +%FFFFFF0000FFFFFF0000FFFFFFFF00FF0000FF00FF00FF000000FF00FFFF +%00FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF00FFFFFF00FF00FFFFFF +%0000FFFFFFFF00FF00FF00000000FFFFFFFFFF000000FFFFFFFFFFFFFFFF +%FFFF000000FF0000FF0000000000000000FF00FF00FF0000FFFFFFFFFFFF +%FFFF0000FF00FFFFFFFFFFFF0000FFFF00FFFFFF00FFFF00FF00FFFF00FF +%FF00FFFFFF00FF0000FF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF000000FF00FF00FF00FF00FFFF000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF00000000000000000000000000FF00FF00FFFFFFFFFFFF00 +%FFFF00FF000000FFFF00000000FF00FF00FFFF0000FFFF00FFFFFF000000 +%000000FFFFFF00FFFFFF0000FF0000FF00FF0000FF0000FFFF00000000FF +%00FF0000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FF00FF00FFFFFF00 +%FF00FF000000FF00FF00FF00FF000000000000FFFFFFFFFFFFFFFFFFFFFF +%FFFF0000000000FF00FF00FF00FF0000FF00FF00FF00FF00FFFFFFFFFFFF +%FFFFFFFF0000000000000000FF00FF00FF00FF00FF00FFFFFFFF00FFFF00 +%FF00FF00FFFF00FF00FFFF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00000000FF00FF00FF00FF000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF000000000000000000000000FF00FF0000FF00FFFFFFFFFFFF +%0000FFFF00FF0000000000000000FF00FF00FF0000FF0000FF00000000FF +%0000FF00FF00FFFFFF0000FFFF00FF00FF0000FFFF00FFFF0000FF00FF00 +%FFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000FF000000FF00FF00 +%0000FFFFFFFF00FF0000FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF00FF00FF0000FFFF00FF00FFFF00FF00FF000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFF000000FFFF00FF00FF00FF00FF00FFFF00FF00FF00FFFF +%FF0000FF00FFFF00FFFF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF0000FF00FF00FF00000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF0000000000000000000000000000FF0000000000FFFFFFFFFF00 +%FF00FFFFFF0000FF00FF000000FF00FF00FFFF0000000000FF0000FF0000 +%00FF00FFFFFFFFFF00FF00FF00FF00FF000000FF00FF0000FF00FF000000 +%FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF000000FF00FFFF00FFFF00FF +%FF00FF000000FF0000FF00FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF0000000000FF00FF00FFFFFF00000000000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF00000000FF00FF00FFFF00FF00FFFFFFFF00FFFF00 +%FF00FF00FF00FFFF0000FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF000000000000000000000000000000FF00FF00FFFFFFFFFFFFFF +%0000FFFF0000FF000000FF00FF00FF0000000000000000000000FF0000FF +%FFFFFF000000FF00FF0000FF0000FF0000FF00FFFF00FF000000FF00FF00 +%00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000FF000000FF00FF00 +%00FF00FFFF00FF00FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF0000FF00000000000000000000FFFFFFFF00FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF00FF00FF00FF00FF00FF00FF +%FFFF00FFFF00FFFFFF0000FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF000000000000000000000000000000000000000000FFFFFFFFFF00 +%FFFF000000FF000000FFFF000000000000FF0000FF00000000FF0000FF00 +%FF00FFFFFF00FF00000000FF00FF0000FF0000FF000000FF00FF00000000 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FFFF0000FF00FF0000FF +%00FF00FF00FF00FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF00FF00FFFFFF00FF00FFFFFF0000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFF00FF00FFFFFF00FF00 +%FF00FFFF00FFFF00FF00FF00FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF0000000000FF00000000000000000000FF0000FF00FF00000000FFFF +%FF00000000000000FF000000FF0000FF0000FF00000000FFFF0000FF00FF +%00FFFF0000FF00FF00FF0000FF00FF000000FF0000FF00000000FF000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF0000FF0000FF0000FF00 +%00FFFF00FF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF000000000000000000000000FF00FF000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FFFFFF00FF00FF00FF +%00FF0000FF0000FF00FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF0000000000FFFF000000000000000000000000000000000000FFFF0000 +%00000000000000FF00FF00000000FF0000FF0000FFFF00FF0000FF00FF00 +%FFFF00FFFF000000000000FF00000000FF00FF00FF0000FF00000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000FFFF00FF00FFFFFF0000 +%FF0000FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF0000FF00FF00FF000000FF0000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FF00FF00 +%FF00FFFF00FFFF00FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%000000000000FFFF0000000000000000000000000000000000FF00000000 +%000000000000FF00000000FF00FF00FF000000FF00FF00FF00FF00000000 +%0000FF0000000000FF00FF0000FF00FF0000FF000000000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000000000000000FF0000FF00 +%00FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF0000000000FFFFFFFFFF00FF00000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000 +%000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%0000000000FFFFFFFF00000000000000000000000000000000000000FF00 +%00000000FF00FF00FFFF00FFFF0000000000FFFF00000000000000000000 +%00000000000000FF0000FF0000FF0000FF00FF00000000FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000FF0000FF00FF00FF0000 +%00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF0000FFFF0000000000FF00000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%00FF00000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%00000000FFFFFFFFFFFFFF000000FFFF00FF0000000000FF0000FF000000 +%0000000000FF00FF00FFFF00FF00000000FF000000FF0000000000000000 +%0000FF00FF00FF0000FF0000FF00FF000000000000FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000FF00000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF000000FFFFFFFFFFFF0000000000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000000000FF00 +%000000FFFF00FF00FF0000000000FF00FF00FF00FF000000000000000000 +%00FF000000000000FF0000FF00FF00000000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF0000FF00FFFFFF0000000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF000000000000 +%0000FFFF00FF00FF00FF0000FF000000FF0000FF0000FFFF00000000FF00 +%000000FF00FF00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF0000000000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF0000FF00FF00000000000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FF +%0000FF00FF00FF00000000FFFF0000FFFFFFFF0000FFFFFFFF0000000000 +%000000000000FF00FFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF0000FF0000FF0000000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000FFFF00 +%00FF00FF00000000000000FFFF00FFFFFF0000FFFFFFFFFFFF00FF00FF00 +%FFFFFFFFFFFF00FFFF00FFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000FF0000000000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF0000FF +%000000000000000000FF00FFFF00FF0000FFFFFFFFFFFFFFFFFF00FF00FF +%00FFFFFFFFFFFF0000FF00FFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF0000FFFF00 +%FF00000000FF00FFFF00000000000000FF00FF00FF000000FF00FF000000 +%FFFFFFFFFFFFFFFF00FF00FF00FFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000FF +%FF000000FF0000FFFFFFFFFFFF00FF00000000FF00FFFFFFFFFFFF00FFFF +%0000FFFFFFFFFFFFFF00FF00FFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFF +%FF000000FFFFFF0000FFFFFFFFFF00FFFFFFFFFFFF00FF00FF00FFFFFF00 +%FFFFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF +%FFFF00FF0000FFFFFF0000FFFFFFFF00FFFFFFFFFFFFFFFFFFFFFF0000FF +%FF00FFFFFFFFFFFFFFFFFF00FF00FFFFFFFFFFFF00FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000 +%FFFF00FFFF0000FFFFFFFF0000FF00FFFF00FFFFFFFFFFFFFFFFFFFF00FF +%00FFFFFF00FF000000FF00FF00FF00FFFFFFFFFF0000FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00 +%00FFFF00FFFF000000FFFFFF0000FF00FFFFFFFFFFFFFFFFFFFFFF000000 +%FF0000FF00FF00FFFFFFFF000000FFFFFF0000FFFF00FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF +%00FFFFFF00FFFF00FFFF0000FF00000000FF00000000FFFFFFFFFFFFFF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFF00FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%FF00FFFF0000FFFF0000FFFF00FFFFFFFF00FFFFFFFFFF00000000000000 +%FF0000FF00FF000000000000FF00FF00FFFFFFFFFFFF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000 +%FF00FFFFFF00FFFFFFFF0000FFFF000000FFFFFFFFFFFFFFFFFFFF00FF00 +%00FFFF00FF00FF00FFFFFFFFFF0000FFFFFFFFFFFFFF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%00FF00FFFFFF00FFFFFFFFFF0000FFFFFF000000FFFFFFFFFFFFFFFF00FF +%FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF00FF00FFFFFF00FFFFFFFFFFFF0000FFFFFFFF000000FFFFFFFFFFFF00 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFFFF00FFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF00FF00FFFFFFFF00FFFFFFFFFFFFFF0000FFFFFFFFFFFF0000000000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFFFF0000FFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFF000000FFFFFF0000FFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFF00FF00 +%00FF00FFFFFFFF00FFFF00FF00000000FFFFFFFFFF00000000FFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF000000FFFFFF0000FFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFF0000 +%0000FF00FF00FFFFFFFFFFFFFFFF00FFFF000000FF00FF000000FFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFF000000FFFFFF000000FFFFFFFFFFFFFFFFFF00000000FF00FFFF +%FFFF00FF00FF00000000FF000000FF0000FFFFFFFF000000FF0000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF000000FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFF0000FF00FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFF0000FFFF000000FFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFF000000FFFFFF00FF0000FFFFFFFFFFFFFFFFFFFFFF00FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF0000FF000000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF0000FFFFFFFF00FFFF0000FFFFFFFFFFFFFFFF00FF00FF +%FFFF0000000000FFFFFFFFFF00FF00000000FFFFFF00FF0000FF0000FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000FFFFFF0000FF00000000FFFFFFFF0000FF00FF +%FFFFFFFF00FF000000000000FF00FFFFFFFFFFFFFFFF00FF0000FF0000FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFF000000FFFFFFFF00FFFF0000000000FFFF00000000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FFFF00FF00FF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF0000FFFFFF0000FFFFFF0000FF00FF00FFFFFF +%FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF0000FF000000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00000000FFFFFF0000FFFFFF00000000FF0000 +%FFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF00FF00FFFF00FF0000FFFF +%FF0000000000FFFF0000000000FF00FFFFFFFFFFFFFF00FF00FFFF00FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF00000000FF00FF000000 +%00FFFFFFFFFFFF00FFFFFFFFFF0000000000FF00FFFFFFFFFF0000FF0000 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FF00FF00FFFFFFFFFF +%FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00000000FFFFFF00FF +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF0000FF00FFFFFF +%FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF000000FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF0000FFFFFFFF +%FFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFF0000FF00FF000000 +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF00FF00FFFFFF +%FFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFF00FF00FF00FF +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFF00FFFF +%FFFFFFFFFFFFFFFFFFFFFFFF00000000FF00FFFFFFFFFF00FF000000FF00 +%FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFF0000 +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000FFFFFFFFFF00FF00 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFF +%0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF0000000000FFFFFF +%FFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF +%FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF00FF000000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000 +%00FFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF000000FF00 +%FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +%000000FFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00FF0000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF000000FFFFFFFF00000000FFFFFFFFFFFFFF0000FF0000FF00FF00FF00 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFF00000000FFFFFFFF00000000FFFFFFFFFFFF00FF000000FF00FF00 +%FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFF00000000FFFFFFFF00FF000000FFFFFFFF00FF00FF00FF0000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF000000FF00FF00000000000000FF0000000000000000 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFF00000000FF00FF00FF00000000FF00FF00FF00 +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000FF +%000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FF00 +%00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%%EndBinary +XH +%AI5_EndRaster +B
/BBAccumRotation (0.000000) XT +U
/BBAccumRotation (0.000000) XT +LB +%AI5_EndLayer-- +%%PageTrailer +gsave annotatepage grestore showpage +%%Trailer +Adobe_Illustrator_AI5 /terminate get exec +Adobe_shading_AI8 /terminate get exec +Adobe_ColorImage_AI6 /terminate get exec +Adobe_cshow /terminate get exec +Adobe_level2_AI5 /terminate get exec +%%EOF diff --git a/Master/texmf-dist/doc/latex/acmart/fly-eps-converted-to.pdf b/Master/texmf-dist/doc/latex/acmart/fly-eps-converted-to.pdf Binary files differnew file mode 100644 index 00000000000..b9cf9ab53c0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/fly-eps-converted-to.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/fly.eps b/Master/texmf-dist/doc/latex/acmart/fly.eps new file mode 100644 index 00000000000..4f6c7957523 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/fly.eps @@ -0,0 +1,5827 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Adobe Illustrator(R) 8.0 +%%AI8_CreatorVersion: 8.0.1 +%%For: (Mark W Richards) (Association for Computing Machinery) +%%Title: (newfly.eps) +%%CreationDate: (2/9/00) (11:18 AM) +%%BoundingBox: 289 380 323 412 +%%HiResBoundingBox: 289.4404 380.3994 322.5605 411.5996 +%%DocumentProcessColors: Black +%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0 +%%+ procset Adobe_ColorImage_AI6 1.3 0 +%%+ procset Adobe_Illustrator_AI5 1.3 0 +%%+ procset Adobe_cshow 2.0 8 +%%+ procset Adobe_shading_AI8 1.0 0 +%AI5_FileFormat 4.0 +%AI3_ColorUsage: Black&White +%AI3_IncludePlacedImages +%AI7_ImageSettings: 1 +%%CMYKProcessColor: 1 1 1 1 ([Registration]) +%%AI6_ColorSeparationSet: 1 1 (AI6 Default Color Separation Set) +%%+ Options: 1 16 0 1 0 1 1 1 0 1 1 1 1 18 0 0 0 0 0 0 0 0 -1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 2 3 4 +%%+ 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: 306.5 395.5 306.5 395.5 +%AI3_TileBox: 13 13 599 779 +%AI3_DocumentPreview: Header +%AI5_ArtSize: 612 792 +%AI5_RulerUnits: 0 +%AI5_ArtFlags: 1 0 0 1 0 0 1 0 0 +%AI5_TargetResolution: 800 +%AI5_NumLayers: 1 +%AI8_OpenToView: 115 531 3 1016 675 18 0 1 8 65 0 0 +%AI5_OpenViewLayers: 7 +%%PageOrigin:13 13 +%%AI3_PaperRect:-13 779 599 -13 +%%AI3_Margin:13 -13 -13 13 +%AI7_GridSettings: 7.2 8 7.2 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 +%AI7_Thumbnail: 128 124 8 +%%BeginBinary +%0000330000660000990000CC0033000033330033660033990033CC0033FF +%0066000066330066660066990066CC0066FF009900009933009966009999 +%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 +%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 +%3333663333993333CC3333FF3366003366333366663366993366CC3366FF +%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 +%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 +%6600666600996600CC6600FF6633006633336633666633996633CC6633FF +%6666006666336666666666996666CC6666FF669900669933669966669999 +%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 +%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF +%9933009933339933669933999933CC9933FF996600996633996666996699 +%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 +%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF +%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 +%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 +%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF +%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC +%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 +%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 +%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 +%000011111111220000002200000022222222440000004400000044444444 +%550000005500000055555555770000007700000077777777880000008800 +%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB +%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF +%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF +%524C45FDFCFFFDFCFFFDAEFFF8FFF8F8F8FD7EFFFD05F8FD1EFFF8FD5EFF +%F8F8F8FD1DFFFD04F8FD5DFFF8F8F8FD1AFFFD08F8FD5CFFF8F8FD19FFFD +%06F8FD5FFFF8F8F8FD17FFFD05F8FD61FFF8F8F8FD16FFFD06F8FD61FFF8 +%F8F8FD16FFFD05F8FD62FFFD04F8FD15FFFD04F8FD64FFF8F8F8FD15FFFD +%04F8FD64FFF8F8F8FD14FFFD04F8FD66FFF8F8F8FD13FFFD04F8FD66FFF8 +%F8F8FD12FFFD04F8FD67FFFD04F8FD11FFFD04F8FD68FFFD05F8FD0EFFFD +%04F8FD69FFFD05F8FD0EFFFD04F8FD6AFFFD05F8FD0CFFFD04F8FD6BFFFD +%06F8FD0AFFFD05F8FD6CFFFD06F8FD09FFFD05F8FD6DFFFD06F8FD06FFFD +%06F8FD6FFFFD06F8FD05FFFD05F8FD71FFFD06F8FFFFFFFD06F8FD73FFFD +%0BF8FD76FFFD0AF8FFF8FD71FFFD10F8FD6FFFFD12F8FD6EFFFD12F8FD6D +%FFFD13F8FD6DFFFD13F8FD6EFFFD12F8FD6EFFFD12F8FD6DFFFD14F8FD6D +%FFFD06F8FFFD08F8FFFD04F8FD6BFFFD04F8FFFD04F8FFF8FFFD06F8FFF8 +%F8F8FD67FFFD09F8FFFFFFF8FFF8FFF8FFFFFD04F8FFF8F8F8FD64FFFD0D +%F8FFF8FFF8FFF8F8FFFD05F8FFF8F8FD63FFF8F8F8FFFD04F8FFF8FFF8FF +%F8FFF8FFF8F8FFFD04F8FFFD05F8FD60FFFD05F8FFFD07F8FFF8FFFFF8FF +%F8FFF8FFFD04F8FFFD05F8FD5FFFFD04F8FFF8FFF8F8F8FFF8FFF8FFF8FD +%05FFFD04F8FFF8F8FFFD04F8FD5EFFF8FFFD0AF8FD05FFF8FD04FFF8FFF8 +%F8F8FFFD04F8FFF8F8F8FD58FFFD06F8FFFD04F8FFF8F8FFF8FD05FFF8F8 +%FFFFF8FFFFFD08F8FFFFF8FFF8F8FD56FFF8F8F8FFF8FFF8FFFD06F8FFF8 +%FD04FFF8FD04FFFD09F8FFF8F8FFFFF8FFF8F8FD53FFF8F8F8FFF8F8FFFF +%F8FFF8F8FFF8FFF8F8FD05FFF8F8FFFFF8FFFFFFF8F8FFF8F8F8FFFFFFF8 +%FFFFF8FFF8FD53FFF8F8FFF8F8FFFFF8FFF8FFFD06F8FFF8FFFFF8FFFFFF +%F8FFF8F8F8FFFD04F8FFFFF8FFFFF8FFFFF8F8FD52FFF8FFFFF8F8FD04FF +%FD09F8FFFFF8F8FFF8FFF8FFF8F8FFFFFD0AF8FFF8FFFFF8F8FD4FFFF8F8 +%FFF8F8FD04FFF8F8F8FFFD08F8FFF8F8FFFFF8FFFFF8FFF8FFFD06F8FFF8 +%F8FFF8FFF8FFFFF8F8F8FD4CFFF8FFFFF8FD04FFFD06F8FFFFFD07F8FFFF +%F8FFF8FD05FFFD04F8FFFD07F8FFFFF8FFFD04F8FD4AFFFD04F8FD04FFF8 +%FFFFF8F8F8FFF8FFFFFD06F8FFFFFFF8F8F8FFF8FFFFFD06F8FFFD05F8FF +%FFFFF8F8FFF8F8F8FD48FFF8F8F8FD04FFF8F8FFFFF8FFF8F8F8FFF8FFF8 +%FFFD09F8FFF8FFF8FFF8FFF8FFFD05F8FFF8F8FFFFFFF8FFF8FFF8F8FD48 +%FFF8F8FD04FFF8F8FFFFF8F8FFFFF8F8F8FFF8FFFD04F8FFF8FFF8F8FFFD +%10F8FFF8FD05FFF8FFF8F8FD46FFF8F8FD04FFF8FFFFFFF8F8FFFFF8F8F8 +%FFF8FFF8FFFFF8F8F8FFF8F8FFF8FFFFF8FFFD09F8FFF8F8FFF8FD06FFF8 +%FFF8F8F8FD43FFF8F8FD04FFF8FFFFFFF8F8FFFFF8FFF8F8F8FFF8FFF8F8 +%FFFD04F8FFFFFFF8FFFFFD09F8FFF8F8FFFFF8F8FFFFF8FFFFFFF8FFF8FF +%F8FD41FFF8F8F8FFFFF8F8FFFFFFF8FFF8FFFFF8FFFD04F8FFF8FFF8F8FF +%F8F8F8FFFFF8F8FFF8FFFD08F8FFF8F8F8FFFFF8FFFFFFF8FD05FFF8F8FD +%40FFF8F8FFFFF8F8FD04FFF8FFF8FFFFF8FFFD06F8FFFD04F8FFFFF8F8F8 +%FFF8FFFD08F8FFF8FFF8FD05FFF8FFFFFFF8FFFFFFF8FFF8FFF8F8FD3BFF +%F8F8F8FFFFFFF8FD05FFF8FFF8FFF8FFFFF8FFFFFFF8F8F8FFFFFD09F8FF +%FD08F8FFFD05F8FFFFFFF8F8FFFFF8FD04FFF8FFF8FFF8FD3BFFF8F8FFFF +%FFF8F8FD04FFF8FFF8FFF8F8FFFFF8FD04FFF8FFFFF8F8FFF8FFFD04F8FF +%F8FFFD06F8FFF8FFF8FFF8F8F8FFFFFFF8FFFFFFF8FD04FFF8FFF8FFF8FD +%39FFF8F8FFFFFFF8FD06FFF8FFFFF8F8FFFFFFFD08F8FFFD05F8FFF8FD04 +%FFF8FFF8F8F8FFF8F8F8FFF8FFF8F8FFFFFFF8F8FFFFF8F8FD04FFF8FFF8 +%FD39FFF8F8F8FFFFF8FFF8FD04FFF8FFF8FFF8FFF8FFF8F8FFFFF8F8FFF8 +%F8F8FFF8F8FFFFF8FFF8F8FFFFFFFD06F8FFFFF8FFF8FFF8FFF8FD06FFF8 +%FD05FFF8FFF8F8FD36FFF8F8F8FFFFFFF8FFF8FD04FFF8FFF8FFF8F8FFF8 +%FFF8F8FFFFFD04F8FFF8FFF8F8F8FFF8FFF8FFFFF8FFFD08F8FFF8F8FFF8 +%FFF8FFF8FFFFFFF8F8FD05FFF8FFFFF8FD35FFF8F8FFFFF8F8FFF8FD04FF +%F8FFFFF8FFF8FD05FFF8FD04FFFD07F8FFF8FFF8F8FFF8FFFD05F8FFFFF8 +%F8FFF8F8FFF8FFF8FFF8FD04FFF8FD06FFF8F8FFF8FD33FFF8F8FFFFFFF8 +%FFF8F8FD04FFF8FFF8FFF8FFFFF8FFFFF8FFF8FFF8F8FFF8F8FFF8FFF8F8 +%FFFFF8FFF8FFF8FFF8FFF8FFF8F8FFFFF8F8F8FFFFF8FFFFF8FD04FFF8FD +%08FFF8FFF8FD31FFF8F8F8FFFFF8FFFFF8FD04FFF8FFFFF8FFFFF8FD06FF +%F8FFF8FFF8FFF8F8FFF8F8FFFFF8F8F8FFF8FFF8F8FFFD04F8FFFFF8F8F8 +%FFF8FFFD04F8FFFFFFF8F8FD06FFF8FFF8F8F8FD30FFF8F8FFFFF8F8FFF8 +%F8FD04FFF8FFFFF8FFFFF8FD04FFF8FFFFF8FFF8F8FFFFFD0DF8FFF8F8F8 +%FFFD06F8FFFFF8FFFFFFF8FD04FFF8F8FD06FFF8FFF8FFF8FD2EFFF8F8FF +%F8F8FFFFFFF8F8FFFFFFF8FFFFF8FFFFFFF8FD07FFF8F8FFF8F8F8FFF8FF +%FD04F8FFF8F8F8FFF8F8F8FFF8F8FFF8FFF8F8FFF8FFF8FD04FFF8FFFFFF +%F8FFF8FD04FFF8FFF8FFF8F8F8FD2CFFF8F8FFF8FFF8F8FFF8F8FD04FFF8 +%FFFFF8FFFFFFF8FFFFFFF8F8FFFFFFF8F8FFF8FFFFF8F8F8FD07FFFD05F8 +%FFF8F8FFF8F8FFF8FFFFF8FD04FFF8FD04FFF8FD05FFF8FFFFF8FFF8F8FD +%2CFFF8FFFFF8FFF8FFF8FFF8FFFFFFF8FD06FFF8FD04FFF8F8FD04FFF8F8 +%F8FFFFFFFD06F8FFFD04F8FFFFF8FFFD04F8FFFFF8FFFFF8FFFFF8FFFFF8 +%FFF8FFF8FFF8F8FFFFFFF8FFFFFFFD04F8FD2BFFFD04F8FFF8F8F8FD04FF +%F8FFFFF8FFFFFFF8FD09FFFD06F8FFF8F8FD07FFF8FFFFFFF8FFFD04F8FF +%FFF8FFFFFFF8FFF8FFFFF8F8FFF8F8FFFFF8FFFFFFF8FD04FFF8F8F8FD29 +%FFF8FFFFF8FFFFF8FFF8FFFFF8FFFFF8FFFFF8FFFFFFF8FD04FFF8F8FFFD +%06F8FFF8F8FFF8F8FD05FFF8FFF8F8F8FFF8F8FFFFF8FFFFF8FFFFFFF8FF +%F8FFFFFFF8FFF8FFF8FFF8F8FFFFF8FD04FFF8FFF8F8FD27FFF8F8FFF8FF +%F8FFFFFD06F8FD04FFF8FFFFFFF8FD06FFF8FFFD06F8FFF8F8FFF8FFF8FF +%FD04F8FFFD04F8FFF8F8F8FFF8FFF8FFFFF8FFF8FFFFF8FFF8FFF8F8FFFF +%F8FFFFFFF8FD04FFF8FFF8FD26FFF8F8FFF8FD04FFF8F8FFFFF8FFFFF8F8 +%FFF8F8FFFFF8F8FFF8FFF8FFF8FFFD08F8FFFD06F8FFF8FFF8FFF8F8F8FF +%F8F8FFF8FFFFFFF8FFFFFFF8F8FFFFFFF8F8F8FFF8FFFFF8FFFFFFF8FD05 +%FFF8F8F8FD25FFF8F8FD06FFF8FFF8FFF8F8F8FFFFF8FFF8FFF8FFF8FFF8 +%F8F8FFF8F8FFF8FFFD04F8FFF8FFF8F8F8FFFFF8FFF8FFF8F8FFFFF8FFFD +%06F8FFF8FFF8FFFFF8FFF8FFF8FFFFFFF8FFFFF8FFFFF8FD06FFF8F8F8FD +%23FFF8F8FD07FFF8FFF8FFF8FFFFF8FFF8F8FFF8FFFD04F8FFFFF8F8FFFD +%08F8FFF8FFFFF8F8F8FFF8FFF8F8F8FFFD06F8FFFFFFF8FFFFFFF8FFF8FF +%F8FFF8FFFFFFF8FD06FFF8FFFFFFF8FFFFF8F8FD23FFF8F8FFF8FD05FFF8 +%FFFFFFF8FFFFF8FFF8F8FFF8FFF8FFF8FFF8FFFFFFF8FFFD06F8FFF8FFFF +%F8F8FFFFF8FFF8FFF8F8FFF8F8FFF8F8F8FFFFF8F8FFF8FFF8FFF8FFF8FF +%F8FFFFFFF8FFF8F8FFFFFFF8FD04FFF8FFF8FFF8FD21FFF8F8FFFFF8FD04 +%FFF8FFF8FD07FFF8FFFFF8F8FFF8FFF8FFF8FD04FFF8F8FFF8F8F8FFFFF8 +%FFF8F8FFF8FFF8FFF8F8FFF8FFFFFD04F8FFFFFFF8FFFFFFF8FFF8FD04FF +%F8FFFFF8FD04FFF8FFFFF8FFFFF8FFF8FFF8F8FD21FFF8F8FFF8FD05FFF8 +%FFF8FFF8FFFFF8FFF8FFF8FD04FFF8FFF8FD06FFF8F8F8FFF8FFF8FD04FF +%F8FFFFF8FFFFF8F8FFF8FFF8FFF8F8F8FFFFF8FD04FFF8FFF8FD04FFF8FF +%FFF8F8FFF8F8FFFFF8FD04FFF8FFFFF8FD21FFF8F8FFFFF8FD04FFF8FFFF +%F8FFF8FFFFF8FFFFF8FD04FFF8FD09FFF8FFFD04F8FFF8FFF8F8FFF8FD04 +%FFF8F8FFFFFD06F8FFFFF8F8FFFFFFF8FFF8FD08FFF8FFFFF8FFF8FFF8F8 +%FFF8FFF8FFFFF8F8FD1FFFF8FFFFF8FD05FFF8FFFFF8FFF8FFF8F8FFF8FD +%06FFF8FFF8F8FD05FFF8F8F8FFF8F8FFF8FFF8FFFFF8FFFFF8F8F8FFF8FF +%FD06F8FFFFF8FD04FFF8FFF8FD04FFF8FFFFFFF8FFF8FFFFF8FFFFF8F8FF +%F8FD05FFF8FD1DFFF8F8FFFFF8FD05FFF8FFFFF8FD04FFF8FFFFF8FD04FF +%F8FD09FFF8FFFD05F8FFF8F8F8FFFFF8F8FFF8F8FFFFF8FFFD05F8FFFFFF +%F8FFFFFFF8FFFFF8FD04FFF8FFFFF8FFFFF8FFFFFFF8FFF8FD07FFF8FD1D +%FFF8FFFFF8FD05FFF8FFFFF8FFF8FFFFF8FFFFF8FFF8FFFFFFF8F8FFFFF8 +%FFFFFFF8FFFD04F8FFF8F8FFF8F8FFFFFFF8FFFFF8F8FFFFFFFD06F8FFF8 +%FFF8FFFFF8FFFFFFF8FD04FFF8FFFFFFF8FD07FFF8FD06FFF8FFF8FD1BFF +%F8F8FFF8F8FD05FFF8FFFFFFF8F8FFFFF8FFFFF8FD06FFF8FFFFF8FFFFF8 +%F8FFFFF8FFF8F8FFF8F8F8FFFFFFF8FFF8FFF8FFFD0AF8FFF8FFF8FFFFF8 +%FD07FFF8FFFFF8F8F8FFFFF8FD04FFF8FD05FFF8FFFFF8FD1AFFF8FFFFF8 +%FD05FFF8FD04FFF8FFFFFFF8FFFFF8FD06FFF8FD07FFF8FFF8F8FFF8F8F8 +%FFF8F8F8FFF8F8FFF8FFF8FFFFFD04F8FFF8F8FFFFF8FFF8FFF8FFFFFFF8 +%FFFFFFF8FFFFF8FFF8FFFFFFF8FD04FFF8F8FD05FFF8FFF8F8FD19FFF8FF +%FFF8FD05FFF8FD04FFF8FFFFFFF8FD04FFF8FD04FFF8FFFFF8FFF8F8F8FF +%FFF8F8F8FFFFFD06F8FFF8F8FFFD06F8FFF8F8F8FFFFFFF8FFFFF8FFF8F8 +%FFF8FFF8FFFFF8FFFFF8F8FD0AFFF8FD04FFF8FFFFF8FD18FFF8FFFFF8F8 +%FD05FFF8FD04FFF8FFFFFFF8FFFFF8FD06FFF8FFF8FFF8FD05FFF8FFF8F8 +%F8FFF8FFFFFFF8FFFD06F8FFFFFFF8F8F8FFF8FFFFF8FFF8FD05FFF8FFF8 +%FFF8FFF8FFF8F8FD04FFF8FD04FFF8FFF8FD05FFF8FFF8FD17FFF8F8FFF8 +%FD05FFF8F8FD04FFF8FD04FFF8FFF8FFF8FD06FFF8F8FFF8F8FFFFFFF8F8 +%FFF8F8F8FFF8F8FD06FFF8FFFD05F8FFF8F8F8FFFFF8FFFFFFF8FFFFF8FF +%F8FFF8FFF8FFF8FFF8FFF8FFFFF8FD04FFF8FFFFF8FD05FFF8F8FD17FFF8 +%FFF8F8FD05FFF8FD04FFF8FD04FFF8FFFFF8FFF8FFFFFFF8F8FFF8FFF8FD +%05FFF8FFF8FFFFF8F8FFF8F8F8FFF8F8FFF8F8F8FFF8FFFFF8F8FFF8FFF8 +%FD08FFF8FFF8FFF8FFF8FFFFF8FFF8FFFFF8FD07FFF8FD05FFF8FD18FFF8 +%F8FFF8FD05FFF8FD04FFF8F8FD04FFF8FFFFF8F8FFFFFFF8FFF8FFF8FD05 +%FFF8F8F8FFF8F8F8FFF8FFFFFD05F8FFF8FFF8FFF8F8FFF8F8FFFFFFF8FD +%07FFF8FFF8FFF8FFF8FFFFF8FD05FFF8FD04FFF8FFFFF8FFFFFFF8FFF8F8 +%FD15FFF8FFF8F8FD06FFF8FD04FFF8FD05FFF8FFF8FFF8FFF8FFFFF8F8FD +%06FFF8FFFD04F8FFFD05F8FD05FFF8FFF8FFF8FFFD05F8FFF8FD07FFF8FD +%06FFF8FFFFF8FFFFF8FFFFF8FD04FFF8FD09FFF8FD15FFFD04F8FD0BFFF8 +%FD05FFF8FFF8FFFFF8FD04FFF8FD05FFF8F8FFFFF8F8FFF8FFF8FFF8FFFD +%05F8FFF8FFF8FFF8FFF8F8F8FFF8FD09FFF8FD07FFF8FFFFFFF8FFFFF8FD +%05FFF8FFFFF8FFFFFFF8FFF8F8FD14FFF8FFF8F8FD06FFF8FD04FFF8FD05 +%FFF8FFFFF8FFFFF8FD04FFF8FFFFFFF8F8FFFFFFFD07F8FFF8FFF8FFFFFF +%F8FFF8FFFD06F8FFF8F8FD07FFF8FD05FFF8F8FFF8FD04FFF8FFFFF8FD04 +%FFF8FFFFF8F8FFF8FFF8FFF8FD14FFF8F8F8FD0BFFF8FD07FFF8FFF8FFF8 +%FD05FFF8FFFFFFF8FD05FFF8FD04FFFD04F8FFFD08F8FFF8F8F8FFFFFFF8 +%F8FFF8FD0CFFF8FD08FFF8FD04FFF8FFFFFFF8FFFFFFF8FFF8F8FD13FFF8 +%FFF8FFFFF8FD08FFF8F8FD06FFF8FFF8FD0AFFF8FD06FFFD05F8FFFFFFF8 +%F8F8FFF8FD07FFF8F8FD04FFF8F8FFFFF8F8FFF8FD05FFF8FFF8FFFFFFF8 +%FFF8FFFFF8FD04FFF8FFFFFFF8FFF8F8FFF8FFF8FD13FFF8F8FFFFF8FFFF +%FFF8FD04FFF8F8FD04FFF8FFF8FFF8F8F8FD05FFF8F8F8FD09FFF8F8F8FF +%FD0AF8FFF8FFF8F8F8FD08FFF8F8FD07FFF8F8FFFFF8FFFFF8FFFFF8FFF8 +%FFFFF8FFFFF8FFFFF8FFF8F8FFF8FFF8F8FD12FFFD04F8FFF8FFF8FFF8FF +%FFF8FFF8FFF8F8F8FFF8FFF8F8FFFD06F8FD0CFFFD05F8FFFFF8FFF8FFF8 +%F8FFF8FFF8FFFFF8FD0AFFFD07F8FFF8FFF8FFF8FFFFF8FD04FFF8FFFFF8 +%FFF8FFFFFFF8FFF8FFFFF8FFF8FD12FFF8F8F8FFF8F8FFFD04F8FFF8F8F8 +%FD04FFF8FFFD06F8FD11FFF8FFF8FFF8FFFFF8FFF8FFFFF8FFF8FFF8F8FD +%0DFFF8F8F8FFFFF8FFF8FFF8FFF8F8FFFFF8FFF8FFF8FFFFFFF8F8F8FFFF +%F8FFFFF8FFF8F8FD12FFF8FFF8F8F8FFF8FFFFF8FFF8FFFFF8FFF8F8F8FF +%F8F8FFFFF8F8FD12FFFD06F8FFF8FFFFFFFD06F8FD10FFFD04F8FFF8FFF8 +%FFFFFFF8FD04FFF8FFFFF8FFF8FFFFF8FFFFF8F8FFF8FFF8FD12FFF8F8F8 +%FFF8F8FFFD04F8FFF8F8FFF8FFFFF8FFF8FFF8F8F8FD14FFF8F8FFFD09F8 +%FD17FFF8F8F8FFF8FFF8F8FFF8FFF8FFF8FFF8FFFFFFF8FFF8FFFFFFF8F8 +%FFF8F8FD12FFF8FFF8F8FFFFF8F8FFF8F8F8FFF8FFF8FFF8FFF8FFF8F8F8 +%FD15FFF8FFF8FFFFF8FFF8FFFFFFFD05F8FD15FFFD04F8FFFFF8FFF8FFFF +%FFF8FFF8FFF8FFF8FFFFF8FFF8FFF8FFF8FD11FFFD04F8FFF8F8FFF8F8FF +%F8FFF8F8FFFFF8FFF8FFF8F8F8FD16FFFD0BF8FFF8FFF8F8FD17FFFD04F8 +%FFFFFFF8FFF8FFF8FFF8FFF8FFF8F8FFF8FFF8F8F8FD13FFF8FFF8F8FFFF +%F8FFF8FFFFF8F8FFF8F8FFFD04F8FD19FFF8F8FFFFF8FFF8F8F8FFFD05F8 +%FD1AFFFD04F8FFF8FFF8FFF8FFF8FFF8FFFFF8FFFD04F8FD12FFF8FFFD08 +%F8FFF8FFF8F8FFFD04F8FD1BFFFD04F8FD05FFF8FFFD04F8FD1CFFFD13F8 +%FD13FFFD05F8FFF8F8FFF8FFFFFD06F8FD1EFFF8F8FFFD05F8FFFD04F8FD +%25FFF8FFFD06F8FD17FFFD09F8FFF8F8F8FD22FFF8F8FD06FFFD05F8FD44 +%FFFD0AF8FD26FFF8FFF8FFFFFFFD05F8FD75FFF8FFF8FFFD07F8FD76FFF8 +%F8FFFD05F8FD78FFFD08F8FD79FFFD06F8FDFCFFFDFCFFFDFCFFFDFCFFFD +%FCFFFDFCFFFD56FFFF +%%EndBinary +%%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 26 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 + { + (AI8_CMYK_CustomColor) + 6 packedarray + } bind def + /findrgbcustomcolor + { + (AI8_RGB_CustomColor) + 5 packedarray + } bind def + /setcustomcolor + { + exch + aload pop dup + (AI8_CMYK_CustomColor) eq + { + pop pop + 4 + { + 4 index mul + 4 1 roll + } repeat + 5 -1 roll pop + setcmykcolor + } + { + dup (AI8_RGB_CustomColor) eq + { + pop pop + 3 + { + 1 exch sub + 3 index mul + 1 exch sub + 3 1 roll + } repeat + 4 -1 roll pop + setrgbcolor + } + { + pop + 4 + { + 4 index mul 4 1 roll + } repeat + 5 -1 roll pop + setcmykcolor + } ifelse + } ifelse + } + def + } if + /setAIseparationgray + { + false setoverprint + 0 setgray + /setseparationgray where{ + pop setseparationgray + }{ + /setcolorspace where{ + pop + [/Separation (All) /DeviceCMYK {dup dup dup}] setcolorspace + 1 exch sub setcolor + }{ + setgray + }ifelse + }ifelse + } def + + /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? + 1 0 0 0 testCMYKColorThrough + 0 1 0 0 testCMYKColorThrough + 0 0 1 0 testCMYKColorThrough + 0 0 0 1 testCMYKColorThrough + and and and + 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.3 0 +userdict /Adobe_ColorImage_AI6 known not +{ + userdict /Adobe_ColorImage_AI6 53 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 41 dict def +} if +Adobe_ColorImage_AI6_Vars begin + /plateindex -1 def + /_newproc null def + /_proc1 null def + /_proc2 null def + /sourcearray 4 array def + /_ptispace null def + /_ptiname null def + /_pti0 0 def + /_pti1 0 def + /_ptiproc null def + /_ptiscale 0 def + /_pticomps 0 def + /_ptibuf 0 string def + /_gtigray 0 def + /_cticmyk null def + /_rtirgb null def + /XIEnable true def + /XIType 0 def + /XIEncoding 0 def + /XICompression 0 def + /XIChannelCount 0 def + /XIBitsPerPixel 0 def + /XIImageHeight 0 def + /XIImageWidth 0 def + /XIImageMatrix null def + /XIRowBytes 0 def + /XIFile null def + /XIBuffer1 null def + /XIBuffer2 null def + /XIBuffer3 null def + /XIDataProc null def + /XIColorSpace /DeviceGray def + /XIColorValues 0 def + /XIPlateList false def +end +/ci6colorimage /colorimage where {/colorimage get}{null} ifelse def +/ci6image systemdict /image get def +/ci6curtransfer systemdict /currenttransfer get def +/ci6curoverprint /currentoverprint where {/currentoverprint get}{{_of}} ifelse def +/ci6foureq { + 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 +/ci6testplate { + 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 ci6foureq { + /plateindex 0 def + }{ + 0 1 0 0 ci6foureq { + /plateindex 1 def + }{ + 0 0 1 0 ci6foureq { + /plateindex 2 def + }{ + 0 0 0 1 ci6foureq { + /plateindex 3 def + }{ + 0 0 0 0 ci6foureq { + /plateindex 5 def + } if + } ifelse + } ifelse + } ifelse + } ifelse + pop pop pop pop + } if + plateindex + end +} def +/ci6concatprocs { + /packedarray where { + pop dup type /packedarraytype eq 2 index type + /packedarraytype eq or + }{ + false + } ifelse + { + /_proc2 exch cvlit def + /_proc1 exch cvlit def + _proc1 aload pop + _proc2 aload pop + _proc1 length + _proc2 length add + packedarray cvx + }{ + /_proc2 exch cvlit def + /_proc1 exch cvlit def + /_newproc _proc1 length _proc2 length add array def + _newproc 0 _proc1 putinterval + _newproc _proc1 length _proc2 putinterval + _newproc cvx + } ifelse +} def +/ci6istint { + type /arraytype eq +} def +/ci6isspot { + dup type /arraytype eq { + dup length 1 sub get /Separation eq + }{ + pop false + } ifelse +} def +/ci6spotname { + dup ci6isspot {dup length 2 sub get}{pop ()} ifelse +} def +/ci6altspace { + aload pop pop pop ci6colormake +} def +/ci6numcomps { + dup /DeviceGray eq { + pop 1 + }{ + dup /DeviceRGB eq { + pop 3 + }{ + /DeviceCMYK eq { + 4 + }{ + 1 + } ifelse + } ifelse + } ifelse +} def +/ci6marksplate { + dup /DeviceGray eq { + pop plateindex 3 eq + }{ + dup /DeviceRGB eq { + pop plateindex 5 ne + }{ + dup /DeviceCMYK eq { + pop plateindex 5 ne + }{ + dup ci6isspot { + /findcmykcustomcolor where { + pop + dup length 2 sub get + 0.1 0.1 0.1 0.1 5 -1 roll + findcmykcustomcolor 1 setcustomcolor + systemdict /currentgray get exec + 1 ne + }{ + pop plateindex 5 ne + } ifelse + }{ + pop plateindex 5 ne + } ifelse + } ifelse + } ifelse + } ifelse +} def +/ci6colormake { + dup ci6numcomps + exch 1 index 2 add 1 roll + dup 1 eq {pop}{array astore} ifelse + exch +} def +/ci6colorexpand { + dup ci6spotname exch + dup ci6istint { + ci6altspace + exch 4 1 roll + }{ + 1 3 1 roll + } ifelse +} def +/ci6colortint { + dup /DeviceGray eq { + 3 1 roll 1 exch sub mul 1 exch sub exch + }{ + dup /DeviceRGB eq { + 3 1 roll {1 exch sub 1 index mul 1 exch sub exch} forall pop 3 array astore exch + }{ + dup /DeviceCMYK eq { + 3 1 roll {1 index mul exch} forall pop 4 array astore exch + }{ + 3 1 roll mul exch + } ifelse + } ifelse + } ifelse +} def +/ci6colortocmyk { + dup /DeviceGray eq { + pop 1 exch sub 0 0 0 4 -1 roll 4 array astore + }{ + dup /DeviceRGB eq { + pop aload pop _rgbtocmyk 4 array astore + }{ + dup /DeviceCMYK eq { + pop + }{ + ci6altspace ci6colortint ci6colortocmyk + } ifelse + } ifelse + } ifelse +} def +/ci6makeimagedict { + 7 dict begin + /ImageType 1 def + /Decode exch def + /DataSource exch def + /ImageMatrix exch def + /BitsPerComponent exch def + /Height exch def + /Width exch def + currentdict end +} def +/ci6stringinvert { + 0 1 2 index length 1 sub { + dup 2 index exch get 255 exch sub 2 index 3 1 roll put + } for +} def +/ci6stringknockout { + 0 1 2 index length 1 sub { + 255 2 index 3 1 roll put + } for +} def +/ci6stringapply { + 0 1 4 index length 1 sub { + dup + 4 index exch get + 3 index 3 1 roll + 3 index exec + } for + pop exch pop +} def +/ci6walkrgbstring { + 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 +/ci6walkcmykstring +{ + 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 +/ci6putrgbtograystr +{ + .11 mul exch + + .59 mul add exch + + .3 mul add + + cvi 3 copy put + + pop 1 add +} def +/ci6putcmyktograystr +{ + 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 +/ci6rgbtograyproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + XIBuffer3 + dup 3 1 roll + + /ci6putrgbtograystr load exch + ci6walkrgbstring + end +} def +/ci6cmyktograyproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + XIBuffer3 + dup 3 1 roll + + /ci6putcmyktograystr load exch + ci6walkcmykstring + end +} def +/ci6separatecmykproc { + Adobe_ColorImage_AI6_Vars begin + sourcearray 0 get exec + + XIBuffer3 + + 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 + end +} def + +/ci6compositeimage { + dup 1 eq { + pop pop image + }{ + /ci6colorimage load null ne { + ci6colorimage + }{ + 3 1 roll pop + sourcearray 0 3 -1 roll put + 3 eq {/ci6rgbtograyproc}{/ci6cmyktograyproc} ifelse load + image + } ifelse + } ifelse +} def +/ci6knockoutimage { + gsave + 0 ci6curtransfer exec 1 ci6curtransfer exec + eq { + 0 ci6curtransfer exec 0.5 lt + }{ + 0 ci6curtransfer exec 1 ci6curtransfer exec gt + } ifelse + {{pop 0}}{{pop 1}} ifelse + systemdict /settransfer get exec + ci6compositeimage + grestore +} def +/ci6drawimage { + ci6testplate -1 eq { + pop ci6compositeimage + }{ + dup type /arraytype eq { + dup length plateindex gt {plateindex get}{pop false} ifelse + }{ + { + true + }{ + dup 1 eq {plateindex 3 eq}{plateindex 3 le} ifelse + } ifelse + } ifelse + { + dup 1 eq { + pop pop ci6image + }{ + dup 3 eq { + ci6compositeimage + }{ + pop pop + sourcearray 0 3 -1 roll put + /ci6separatecmykproc load + ci6image + } ifelse + } ifelse + }{ + ci6curoverprint { + 7 {pop} repeat + }{ + ci6knockoutimage + } ifelse + } ifelse + } ifelse +} def +/ci6proctintimage { + /_ptispace exch store /_ptiname exch store /_pti1 exch store /_pti0 exch store /_ptiproc exch store + /_pticomps _ptispace ci6numcomps store + /_ptiscale _pti1 _pti0 sub store + level2? { + _ptiname length 0 gt version cvr 2012 ge and { + [/Separation _ptiname _ptispace {_ptiproc}] setcolorspace + [_pti0 _pti1] ci6makeimagedict ci6image + }{ + [/Indexed _ptispace 255 {255 div _ptiscale mul _pti0 add _ptiproc}] setcolorspace + [0 255] ci6makeimagedict ci6image + } ifelse + }{ + _pticomps 1 eq { + { + dup + { + 255 div _ptiscale mul _pti0 add _ptiproc 255 mul cvi put + } ci6stringapply + } ci6concatprocs ci6image + }{ + { + dup length _pticomps mul dup _ptibuf length ne {/_ptibuf exch string store}{pop} ifelse + _ptibuf { + exch _pticomps mul exch 255 div _ptiscale mul _pti0 add _ptiproc + _pticomps 2 add -2 roll + _pticomps 1 sub -1 0 { + 1 index add 2 index exch + 5 -1 roll + 255 mul cvi put + } for + pop pop + } ci6stringapply + } ci6concatprocs false _pticomps + /ci6colorimage load null eq {7 {pop} repeat}{ci6colorimage} ifelse + } ifelse + } ifelse +} def +/ci6graytintimage { + /_gtigray 5 -1 roll store + {1 _gtigray sub mul 1 exch sub} 4 1 roll + /DeviceGray ci6proctintimage +} def +/ci6cmyktintimage { + /_cticmyk 5 -1 roll store + {_cticmyk {1 index mul exch} forall pop} 4 1 roll + /DeviceCMYK ci6proctintimage +} def +/ci6rgbtintimage { + /_rtirgb 5 -1 roll store + {_rtirgb {1 exch sub 1 index mul 1 exch sub exch} forall pop} 4 1 roll + /DeviceRGB ci6proctintimage +} def +/ci6tintimage { + ci6testplate -1 eq { + ci6colorexpand + 3 -1 roll 5 -1 roll {0}{0 exch} ifelse 4 2 roll + dup /DeviceGray eq { + pop ci6graytintimage + }{ + dup /DeviceRGB eq { + pop ci6rgbtintimage + }{ + pop ci6cmyktintimage + } ifelse + } ifelse + }{ + dup ci6marksplate { + plateindex 5 lt { + ci6colortocmyk plateindex get + dup 0 eq ci6curoverprint and { + 7 {pop} repeat + }{ + 1 exch sub + exch {1 0}{0 1} ifelse () ci6graytintimage + } ifelse + }{ + pop exch {0}{0 exch} ifelse 0 3 1 roll () ci6graytintimage + } ifelse + }{ + ci6curoverprint { + 8 {pop} repeat + }{ + pop pop pop + {pop 1} 0 1 () /DeviceGray ci6proctintimage + } ifelse + } ifelse + } ifelse +} def +/XINullImage { +} def +/XIImageMask { + XIImageWidth XIImageHeight false + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + imagemask +} def +/XIImageTint { + XIImageWidth XIImageHeight XIBitsPerPixel + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + XIType 3 eq XIColorValues XIColorSpace ci6tintimage +} def +/XIImage { + XIImageWidth XIImageHeight XIBitsPerPixel + [XIImageWidth 0 0 XIImageHeight neg 0 0] + /XIDataProc load + false XIChannelCount XIPlateList ci6drawimage +} def +/XG { + pop pop +} def +/XF { + 13 {pop} repeat +} def +/Xh { + Adobe_ColorImage_AI6_Vars begin + gsave + /XIType exch def + /XIImageHeight exch def + /XIImageWidth exch def + /XIImageMatrix exch def + 0 0 moveto + XIImageMatrix concat + XIImageWidth XIImageHeight scale + + /_lp /null ddef + _fc + /_lp /imagemask ddef + end +} def +/XH { + Adobe_ColorImage_AI6_Vars begin + grestore + end +} def +/XIEnable { + Adobe_ColorImage_AI6_Vars /XIEnable 3 -1 roll put +} def +/XC { + Adobe_ColorImage_AI6_Vars begin + ci6colormake + /XIColorSpace exch def + /XIColorValues exch def + end +} def +/XIPlates { + Adobe_ColorImage_AI6_Vars begin + /XIPlateList exch def + end +} def +/XI +{ + Adobe_ColorImage_AI6_Vars begin + gsave + /XIType exch def + cvi dup + 256 idiv /XICompression exch store + 256 mod /XIEncoding exch store + 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 + /XIRowBytes exch def + XIEnable { + /XIBuffer3 XIImageWidth string def + XICompression 0 eq { + /XIBuffer1 XIRowBytes string def + XIEncoding 0 eq { + {currentfile XIBuffer1 readhexstring pop} + }{ + {currentfile XIBuffer1 readstring pop} + } ifelse + }{ + /XIBuffer1 256 string def + /XIBuffer2 XIRowBytes string def + {currentfile XIBuffer1 readline pop (%) anchorsearch {pop} if} + /ASCII85Decode filter /DCTDecode filter + /XIFile exch def + {XIFile XIBuffer2 readstring pop} + } ifelse + /XIDataProc exch def + + XIType 1 ne { + 0 setgray + } if + XIType 1 eq { + XIImageMask + }{ + XIType 2 eq XIType 3 eq or { + XIImageTint + }{ + XIImage + } ifelse + } ifelse + }{ + XINullImage + } ifelse + /XIPlateList false def + grestore + end +} def +end +%%EndProcSet +%%BeginResource: procset Adobe_Illustrator_AI5 1.3 0 +%%Title: (Adobe Illustrator (R) Version 8.0 Full Prolog) +%%Version: 1.3 0 +%%CreationDate: (3/7/1994) () +%%Copyright: ((C) 1987-1998 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_Illustrator_AI5_vars 112 dict dup begin +put +/_?cmyk false def +/_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 +/_lineorientation 0 def +/_charorientation 0 def +/_yokoorientation 0 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 +/_shift [0 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 +/_fontSize 0 def +/_fontAscent 0 def +/_fontDescent 0 def +/_fontHeight 0 def +/_fontRotateAdjust 0 def +/Ss 256 string def +Ss 0 (fonts/) putinterval +/_cnt 0 def +/_scale [1 1] def +/_nativeEncoding 0 def +/_useNativeEncoding 0 def +/_tempEncode 0 def +/_pntr 0 def +/_tDict 2 dict def +/_hfname 100 string def +/_hffound false def +/Tx +{ +} def +/Tj +{ +} def +/CRender +{ +} def +/_AI3_savepage +{ +} def +/_gf null def +/_cf 4 array def +/_rgbf 3 array def +/_if null def +/_of false def +/_fc +{ +} def +/_gs null def +/_cs 4 array def +/_rgbs 3 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 +/_lobyte 0 def +/_hibyte 0 def +/_cproc null def +/_cscript 0 def +/_hvax 0 def +/_hvay 0 def +/_hvwb 0 def +/_hvcx 0 def +/_hvcy 0 def +/_bitfont null def +/_bitlobyte 0 def +/_bithibyte 0 def +/_bitkey null def +/_bitdata null def +/_bitindex 0 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 100 dict put +} if +userdict /Adobe_Illustrator_AI5 get begin +/initialize +{ + Adobe_Illustrator_AI5 dup begin + Adobe_Illustrator_AI5_vars begin + /_aicmykps where {pop /_?cmyk _aicmykps def}if + 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 +/hswj +{ + dup stringwidth 3 2 roll + { + _hvwb eq { exch _hvcx add exch _hvcy add } if + exch _hvax add exch _hvay add + } cforall +} def +/vswj +{ + 0 0 3 -1 roll + { + dup 255 le + _charorientation 1 eq + and + { + dup cstring stringwidth 5 2 roll + _hvwb eq { exch _hvcy sub exch _hvcx sub } if + exch _hvay sub exch _hvax sub + 4 -1 roll sub exch + 3 -1 roll sub exch + } + { + _hvwb eq { exch _hvcy sub exch _hvcx sub } if + exch _hvay sub exch _hvax sub + _fontHeight sub + } ifelse + } cforall +} def +/swj +{ + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + _lineorientation 0 eq { hswj } { vswj } ifelse +} def +/sw +{ + 0 0 0 6 3 roll swj +} def +/vjss +{ + 4 1 roll + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + gsave + false charpath currentpoint + 5 index setmatrix stroke + grestore + _fontRotateAdjust sub + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + 5 index sub + 3 index _sp eq + { + 9 index sub + } if + + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + + gsave + 2 index false charpath + 6 index setmatrix stroke + grestore + + moveto pop pop + } ifelse + } cforall + 6 npop +} def +/hjss +{ + 4 1 roll + { + dup cstring + gsave + false charpath currentpoint + 5 index setmatrix stroke + grestore + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + } cforall + 6 npop +} def +/jss +{ + _lineorientation 0 eq { hjss } { vjss } ifelse +} def +/ss +{ + 0 0 0 7 3 roll jss +} def +/vjsp +{ + 4 1 roll + { + dup cstring + dup length 1 eq + _charorientation 1 eq + and + { + -90 rotate + currentpoint + _fontRotateAdjust add + moveto + false charpath + currentpoint + _fontRotateAdjust sub + moveto + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + 5 index sub + 3 index _sp eq + { + 9 index sub + } if + + currentpoint + exch 4 index stringwidth pop 2 div sub + exch _fontAscent sub + moveto + + 2 index false charpath + + moveto pop pop + } ifelse + } cforall + 6 npop +} def +/hjsp +{ + 4 1 roll + { + dup cstring + false charpath + _sp eq + { + 5 index 5 index rmoveto + } if + 2 copy rmoveto + } cforall + 6 npop +} def +/jsp +{ + matrix currentmatrix + _lineorientation 0 eq {hjsp} {vjsp} ifelse +} def +/sp +{ + matrix currentmatrix + 0 0 0 7 3 roll + _lineorientation 0 eq {hjsp} {vjsp} ifelse +} 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 +/_rgbtocmyk +{ + 3 + { + 1 exch sub 3 1 roll + } repeat + 3 copy 1 4 1 roll + 3 + { + 3 index 2 copy gt + { + exch + } if + pop 4 1 roll + } repeat + pop pop pop + 4 1 roll + 3 + { + 3 index sub + 3 1 roll + } repeat + 4 -1 roll +} def +/setrgbfill +{ + _rgbf astore pop + /_fc + { + _lp /fill ne + { + _of setoverprint + _rgbf aload pop setrgbcolor + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/setrgbstroke +{ + _rgbs astore pop + /_sc + { + _lp /stroke ne + { + _os setoverprint + _rgbs aload pop setrgbcolor + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} 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 + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } 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 + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } 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 +/Xa +{ + _?cmyk { + 3 npop k + }{ + setrgbfill 4 npop + } ifelse +} def +/XA +{ + _?cmyk { + 3 npop K + }{ + setrgbstroke 4 npop + } ifelse +} def +/Xs +{ + /_gf exch ddef + 5 npop + /_fc + { + _lp /fill ne + { + _of setoverprint + _gf setAIseparationgray + /_lp /fill ddef + } if + } ddef + /_pf + { + _fc + _eo {eofill} {fill} ifelse + } ddef + /_psf + { + _fc + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/XS +{ + /_gs exch ddef + 5 npop + /_sc + { + _lp /stroke ne + { + _os setoverprint + _gs setAIseparationgray + /_lp /stroke ddef + } if + } ddef + /_ps + { + _sc + stroke + } ddef + /_pss + { + _sc + ss + } ddef + /_pjss + { + _sc + jss + } ddef + /_lp /none ddef +} def +/Xx +{ + exch + /_gf exch ddef + 0 eq { + findcmykcustomcolor + }{ + _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse + { + 4 1 roll 3 npop + findcmykcustomcolor + }{ + 8 -4 roll 4 npop + findrgbcustomcolor + } ifelse + } ifelse + /_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 + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } ddef + /_lp /none ddef +} def +/XX +{ + exch + /_gs exch ddef + 0 eq { + findcmykcustomcolor + }{ + _?cmyk {true}{/findrgbcustomcolor where{pop false}{true}ifelse}ifelse + { + 4 1 roll 3 npop + findcmykcustomcolor + }{ + 8 -4 roll 4 npop + findrgbcustomcolor + } ifelse + } ifelse + /_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 +/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 + hvashow + } ddef + /_pjsf + { + _fc + hvawidthshow + } 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 +/XK +{ + 3 -1 roll pop + 0 eq + { + 1 exch sub + 3 {dup 3 1 roll mul 5 1 roll} repeat + mul 4 1 roll + K + } + { + 1 exch sub 4 1 roll + 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat + 4 -1 roll pop + XA + } ifelse +} def +/Xk +{ + 3 -1 roll pop + 0 eq + { + 1 exch sub + 3 {dup 3 1 roll mul 5 1 roll} repeat + mul 4 1 roll + k + } + { + 1 exch sub 4 1 roll + 3 {1 exch sub 3 index mul 1 exch sub 3 1 roll} repeat + 4 -1 roll pop + Xa + } ifelse +} def +/A +{ + pop +} def +/annotatepage +{ +userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse +} def +/XT { + pop pop +} def +/Xt { + 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} stopped { + % assume error was due to overfilling the buffer + }{ + not + { + stop + } if + endString eq { + cleartomark stop + } if + }ifelse + } loop +} def +3 +{ + /beginString exch store + /layerCnt 1 store + mark + { + currentfile buffer {readline} stopped { + % assume error was due to overfilling the buffer + }{ + 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 + }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 +{ + 6 npop + 7 2 roll + 5 npop + 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 4 dict def +nc begin +/setgray +{ + pop +} bind def +/setcmykcolor +{ + 4 npop +} bind def +/setrgbcolor +{ + 3 npop +} bind def +/setcustomcolor +{ + 2 npop +} bind def +currentdict readonly pop +end +/XP +{ + 4 npop +} bind def +/XD +{ + pop +} bind def +end +setpacking +%%EndResource +%%BeginResource: procset Adobe_cshow 2.0 8 +%%Title: (Writing System Operators) +%%Version: 2.0 8 +%%CreationDate: (1/23/89) () +%%Copyright: ((C) 1992-1996 Adobe Systems Incorporated All Rights Reserved) +currentpacking true setpacking +userdict /Adobe_cshow 14 dict dup begin put +/initialize +{ + Adobe_cshow begin + Adobe_cshow + { + dup xcheck + { + bind + } if + pop pop + } forall + end + Adobe_cshow begin +} def +/terminate +{ +currentdict Adobe_cshow eq + { + end + } if +} def +/cforall +{ + /_lobyte 0 ddef + /_hibyte 0 ddef + /_cproc exch ddef + /_cscript currentfont /FontScript known { currentfont /FontScript get } { -1 } ifelse ddef + { + /_lobyte exch ddef + _hibyte 0 eq + _cscript 1 eq + _lobyte 129 ge _lobyte 159 le and + _lobyte 224 ge _lobyte 252 le and or and + _cscript 2 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript 3 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript 25 eq + _lobyte 161 ge _lobyte 254 le and and + _cscript -1 eq + or or or or and + { + /_hibyte _lobyte ddef + } + { + _hibyte 256 mul _lobyte add + _cproc + /_hibyte 0 ddef + } ifelse + } forall +} def +/cstring +{ + dup 256 lt + { + (s) dup 0 4 3 roll put + } + { + dup 256 idiv exch 256 mod + (hl) dup dup 0 6 5 roll put 1 4 3 roll put + } ifelse +} def +/clength +{ + 0 exch + { 256 lt { 1 } { 2 } ifelse add } cforall +} def +/hawidthshow +{ + { + dup cstring + show + _hvax _hvay rmoveto + _hvwb eq { _hvcx _hvcy rmoveto } if + } cforall +} def +/vawidthshow +{ + { + dup 255 le + _charorientation 1 eq + and + { + -90 rotate + 0 _fontRotateAdjust rmoveto + cstring + _hvcx _hvcy _hvwb _hvax _hvay 6 -1 roll awidthshow + 0 _fontRotateAdjust neg rmoveto + 90 rotate + } + { + currentpoint + _fontHeight sub + exch _hvay sub exch _hvax sub + 2 index _hvwb eq { exch _hvcy sub exch _hvcx sub } if + 3 2 roll + cstring + dup stringwidth pop 2 div neg _fontAscent neg rmoveto + show + moveto + } ifelse + } cforall +} def +/hvawidthshow +{ + 6 1 roll + /_hvay exch ddef + /_hvax exch ddef + /_hvwb exch ddef + /_hvcy exch ddef + /_hvcx exch ddef + _lineorientation 0 eq { hawidthshow } { vawidthshow } ifelse +} def +/hvwidthshow +{ + 0 0 3 -1 roll hvawidthshow +} def +/hvashow +{ + 0 0 0 6 -3 roll hvawidthshow +} def +/hvshow +{ + 0 0 0 0 0 6 -1 roll hvawidthshow +} def +currentdict readonly pop end +setpacking +%%EndResource +%%BeginResource: procset Adobe_shading_AI8 1.0 0 +%%Title: (Adobe Illustrator 8 Shading Procset) +%%Version: 1.0 0 +%%CreationDate: (12/17/97) () +%%Copyright: ((C) 1987-1997 Adobe Systems Incorporated All Rights Reserved) +userdict /defaultpacking currentpacking put true setpacking +userdict /Adobe_shading_AI8 10 dict dup begin put +/initialize { + Adobe_shading_AI8 begin + Adobe_shading_AI8 bdprocs + Mesh /initialize get exec +} def +/terminate { + currentdict Adobe_shading_AI8 eq { + end + } if +} def +/bdprocs { + { + dup xcheck 1 index type /arraytype eq and { + bind + } if + pop pop + } forall +} def +/X! {pop} def +/X# {pop pop} def +/Mesh 40 dict def +Mesh begin +/initialize { + Mesh bdprocs + Mesh begin + /emulate? /AI8MeshEmulation where { + pop AI8MeshEmulation + }{ + systemdict /shfill known not + } ifelse def + end +} def +/bd { + shadingdict begin +} def +/paint { + emulate? { + end + }{ + /_lp /none ddef _fc /_lp /none ddef + + /AIColorSpace AIColorSpace tocolorspace store + /ColorSpace AIColorSpace topsspace store + + version_ge_3010.106 not systemdict /setsmoothness known and { + 0.0001 setsmoothness + } if + + composite? { + /DataSource getdatasrc def + Matrix concat + currentdict end + shfill + }{ + AIColorSpace makesmarks AIPlateList markingplate and not isoverprint and { + end + }{ + /ColorSpace /DeviceGray store + /Decode [0 1 0 1 0 1] store + /DataSource getplatesrc def + Matrix concat + currentdict end + shfill + } ifelse + } ifelse + } ifelse +} def +/shadingdict 12 dict def +shadingdict begin + /ShadingType 6 def + /BitsPerCoordinate 16 def + /BitsPerComponent 8 def + /BitsPerFlag 8 def +end +/datafile null def +/databuf 256 string def +/dataptr 0 def +/srcspace null def +/srcchannels 0 def +/dstchannels 0 def +/dstplate 0 def +/srctodstcolor null def +/getplatesrc { + /srcspace AIColorSpace store + /srcchannels AIColorSpace getnchannels store + /dstchannels 1 store + /dstplate getplateindex store + /srctodstcolor srcspace makesmarks { + dstplate 4 eq { + {1 exch sub} + }{ + {srcspace tocmyk 3 dstplate sub index 1 exch sub 5 1 roll 4 {pop} repeat} + } ifelse + }{ + {srcchannels {pop} repeat 1} + } ifelse store + /datafile getdatasrc store + /rdpatch168 load DataLength () /SubFileDecode filter +} def +/getdatasrc { + /rdcmntline load /ASCII85Decode filter +} def +/rdpatch168 { + /dataptr 0 store + 49 rdcount + 4 { + dup {pop srcchannels getint8} if + dup {pop srctodstcolor dstchannels putint8 true} if + } repeat + {databuf 0 dataptr getinterval}{()} ifelse +} def +/rdpatch3216 { + /dataptr 0 store + 97 rdcount + 4 { + dup {pop srcchannels getint16} if + dup {pop srctodstcolor dstchannels putint16 true} if + } repeat + {databuf 0 dataptr getinterval}{()} ifelse +} def +/rdcount { + dup 0 gt { + datafile databuf dataptr 4 -1 roll getinterval readstring + exch length dataptr add /dataptr exch store + }{ + true + } ifelse +} def +/getint8 { + mark true 3 -1 roll + { + dup {pop datafile read} if + dup {pop 255 div true} if + } repeat + { + counttomark 1 add -1 roll pop true + }{ + cleartomark false + } ifelse +} def +/putint8 { + dup dataptr add /dataptr exch store + dataptr exch + { + 1 sub exch + 255 mul cvi + databuf 2 index + 3 -1 roll put + } repeat + pop +} def +/getint16 { + mark true 3 -1 roll + { + dup {pop datafile read} if + dup {pop 256 mul datafile read} if + dup {pop add 65535 div true} if + } repeat + { + counttomark 1 add -1 roll pop true + }{ + cleartomark false + } ifelse +} def +/putint16 { + dup 2 mul dataptr add /dataptr exch store + dataptr exch + { + 2 sub exch + 65535 mul cvi dup + 256 idiv databuf 3 index 3 -1 roll put + 256 mod databuf 2 index 1 add 3 -1 roll put + } repeat + pop +} def +/srcbuf 256 string def +/rdcmntline { + currentfile srcbuf readline pop + (%) anchorsearch {pop} if +} def +/getplateindex { + 0 [cyan? magenta? yellow? black? customColor?] {{exit} if 1 add} forall +} def +/aicsarray 4 array def +/aicsaltvals 4 array def +/aicsaltcolr aicsaltvals def +/tocolorspace { + dup type /arraytype eq { + mark exch aload pop + aicsarray 0 3 -1 roll put + aicsarray 1 3 -1 roll put + dup aicsarray 2 3 -1 roll put + gettintxform aicsarray 3 3 -1 roll put + counttomark aicsaltvals 0 3 -1 roll getinterval /aicsaltcolr exch store + aicsaltcolr astore pop pop + aicsarray + } if +} def +/subtintxform {aicsaltcolr {1 index mul exch} forall pop} def +/addtintxform {aicsaltcolr {1 sub 1 index mul 1 add exch} forall pop} def +/gettintxform { + /DeviceRGB eq {/addtintxform}{/subtintxform} ifelse load +} def +/getnchannels { + dup type /arraytype eq {0 get} if + colorspacedict exch get begin Channels end +} def +/makesmarks { + composite? { + pop true + }{ + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin MarksPlate end + } ifelse +} def +/markingplate { + composite? { + pop true + }{ + dup type /arraytype eq { + dup length getplateindex gt {getplateindex get}{pop false} ifelse + } if + } ifelse +} def +/tocmyk { + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin ToCMYK end +} def +/topsspace { + dup dup type /arraytype eq {0 get} if + colorspacedict exch get begin ToPSSpace end +} def +/colorspacedict 5 dict dup begin + /DeviceGray 4 dict dup begin + /Channels 1 def + /MarksPlate {pop black?} def + /ToCMYK {pop 1 exch sub 0 0 0 4 -1 roll} def + /ToPSSpace {} def + end def + /DeviceRGB 4 dict dup begin + /Channels 3 def + /MarksPlate {pop isCMYKSep?} def + /ToCMYK {pop _rgbtocmyk} def + /ToPSSpace {} def + end def + /DeviceCMYK 4 dict dup begin + /Channels 4 def + /MarksPlate {pop isCMYKSep?} def + /ToCMYK {pop} def + /ToPSSpace {} def + end def + /Separation 4 dict dup begin + /Channels 1 def + /MarksPlate { + /findcmykcustomcolor where { + pop dup 1 exch ToCMYK 5 -1 roll 1 get + findcmykcustomcolor 1 setcustomcolor + systemdict /currentgray get exec + 1 ne + }{ + pop false + } ifelse + } def + /ToCMYK { + dup 2 get mark exch 4 2 roll + 3 get exec + counttomark -1 roll tocmyk + 5 -1 roll pop + } def + /ToPSSpace {} def + end def + /Process 4 dict dup begin + /Channels 1 def + /MarksPlate { + isCMYKSep? { + 1 exch ToCMYK 4 array astore getplateindex get 0 ne + }{ + pop false + } ifelse + } def + /ToCMYK { + dup 2 get mark exch 4 2 roll + 3 get exec + counttomark -1 roll tocmyk + 5 -1 roll pop + } def + /ToPSSpace { + 4 array copy dup 0 /Separation put + } def + end def +end def +/isoverprint { + /currentoverprint where {pop currentoverprint}{_of} ifelse +} def +/version_ge_3010.106 { + version {cvr} stopped { + pop + false + }{ + 3010.106 ge + } ifelse +} def +end +end +defaultpacking setpacking +%%EndResource +%%EndProlog +%%BeginSetup +userdict /_useSmoothShade false put +userdict /_aicmykps false put +userdict /_forceToCMYK false put +Adobe_level2_AI5 /initialize get exec +Adobe_cshow /initialize get exec +Adobe_ColorImage_AI6 /initialize get exec +Adobe_shading_AI8 /initialize get exec +Adobe_Illustrator_AI5 /initialize get exec +%AI5_Begin_NonPrinting +Np +%AI3_BeginPattern: (Brick) +(Brick) 0 0 72 72 [ +%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 +0 0 m +0 72 L +72 72 L +72 0 L +0 0 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 +0 68.4097 m +72 68.4097 l +S
0 61.209 m +72 61.209 L +S
0 54.0088 m +72 54.0088 L +S
0 46.8076 m +72 46.8076 L +S
0 39.6084 m +72 39.6084 L +S
0 32.4072 m +72 32.4072 L +S
0 25.207 m +72 25.207 L +S
0 18.0059 m +72 18.0059 L +S
0 10.8057 m +72 10.8057 L +S
0 3.6064 m +72 3.6064 L +S
68.4102 68.4097 m +68.4102 61.2217 l +S
54.0098 68.4097 m +54.0098 61.2217 L +S
39.6094 68.4097 m +39.6094 61.2217 L +S
25.21 68.4097 m +25.21 61.2217 L +S
10.8105 68.4097 m +10.8105 61.2217 L +S
68.4102 53.9717 m +68.4102 46.7842 l +S
54.0098 53.9717 m +54.0098 46.7842 L +S
39.6094 53.9717 m +39.6094 46.7842 L +S
25.21 53.9717 m +25.21 46.7842 L +S
10.8105 53.9717 m +10.8105 46.7842 L +S
68.4102 39.5967 m +68.4102 32.4092 l +S
54.0098 39.5967 m +54.0098 32.4092 L +S
39.6094 39.5967 m +39.6094 32.4092 L +S
25.21 39.5967 m +25.21 32.4092 L +S
10.8105 39.5967 m +10.8105 32.4092 L +S
68.4102 25.2217 m +68.4102 18.0342 l +S
54.0098 25.2217 m +54.0098 18.0342 L +S
39.6094 25.2217 m +39.6094 18.0342 L +S
25.21 25.2217 m +25.21 18.0342 L +S
10.8105 25.2217 m +10.8105 18.0342 L +S
68.4102 10.7842 m +68.4102 3.5967 l +S
54.0098 10.7842 m +54.0098 3.5967 L +S
39.6094 10.7842 m +39.6094 3.5967 L +S
25.21 10.7842 m +25.21 3.5967 L +S
10.8105 10.7842 m +10.8105 3.5967 L +S
61.1973 3.5967 m +61.1973 0 L +S
46.7969 3.5967 m +46.7969 0 L +S
32.3965 3.5967 m +32.3965 0 L +S
17.9971 3.5967 m +17.9971 0 L +S
3.5967 3.5967 m +3.5967 0 l +S
61.1973 18.0342 m +61.1973 10.8467 L +S
46.7969 18.0342 m +46.7969 10.8467 L +S
32.3965 18.0342 m +32.3965 10.8467 L +S
17.9971 18.0342 m +17.9971 10.8467 L +S
3.5967 18.0342 m +3.5967 10.8467 l +S
61.1973 32.4092 m +61.1973 25.2217 L +S
46.7969 32.4092 m +46.7969 25.2217 L +S
17.9971 32.4092 m +17.9971 25.2217 L +S
3.5967 32.4092 m +3.5967 25.2217 l +S
61.1973 46.7842 m +61.1973 39.5967 L +S
46.7969 46.7842 m +46.7969 39.5967 L +S
32.3965 46.7842 m +32.3965 39.5967 L +S
17.9971 46.7842 m +17.9971 39.5967 L +S
3.5967 46.7842 m +3.5967 39.5967 l +S
61.1973 61.2217 m +61.1973 54.0347 L +S
46.7969 61.2217 m +46.7969 54.0347 L +S
32.3965 61.2217 m +32.3965 54.0347 L +S
17.9971 61.2217 m +17.9971 54.0347 L +S
3.5967 61.2217 m +3.5967 54.0347 l +S
61.1973 71.959 m +61.1973 68.4717 L +S
46.7969 71.959 m +46.7969 68.4717 L +S
32.3965 71.959 m +32.3965 68.4717 L +S
17.9971 71.959 m +17.9971 68.4717 L +S
3.5967 71.959 m +3.5967 68.4717 l +S
32.3965 32.4092 m +32.3965 25.2217 L +S
%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: (Leaves - Fall ) +(Leaves - Fall ) 0 0 64.0781 78.9336 [ +%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 +64.0781 78.9336 m +64.0781 0 L +0 0 L +0 78.9336 L +64.0781 78.9336 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 +29.7578 0.9902 m +30.4346 1.1914 30.7246 1.3428 V +29.2559 4.0547 33.707 8.3359 34.627 9.0762 C +35.2275 8.8506 35.3477 6.3184 34.6699 4.9805 C +35.5137 5.1035 37.7031 3.7256 38.4609 2.4365 C +38.5254 3.125 40.0957 6.0664 40.9219 6.4434 C +40.002 6.8408 39.3359 8.3135 38.5742 9.7617 C +39.5957 9.9287 40.9961 9.0078 42.4668 8.1025 C +42.9814 8.9043 44.3555 9.875 45.6143 10.3916 C +44.5264 11.0781 44.0313 11.8203 43.5352 13.2793 C +42.4922 12.7139 40.3057 12.5645 39.7764 12.8516 C +40.291 13.9648 42.5371 14.5078 43.2676 14.4551 C +43.0137 15.3164 42.8652 17.4697 43.0391 20.0625 C +41.3789 18.7461 39.834 17.4297 38.1738 17.4883 C +38.4434 16.0664 37.8076 14.2607 37.4307 13.7676 C +36.8574 14.5117 36.4463 15.3389 36.8008 17.3164 C +35.3486 17.8008 34.1113 18.3467 32.7373 19.6045 C +32.7373 17.7734 32.166 16.5723 31.2969 15.2959 C +32.5576 14.8076 33.8301 13.6045 33.8252 12.5664 C +32.9775 12.7178 31.2852 13.4619 30.793 14.4551 C +30.0742 13.707 28.3906 12.3984 26.7871 12.3945 C +27.9746 11.5391 28.8945 10.5059 28.9893 8.5938 C +30.2422 9.5645 32.6953 10.1797 34.0752 9.582 C +29.2344 5.3457 29.7031 2.3125 29.7578 0.9902 C +f
13.8525 29.9844 m +13.3281 29.5127 13.1309 29.25 V +15.623 27.4326 13.3691 21.6074 12.8555 20.5439 C +12.2168 20.4883 10.8096 23.2285 10.8457 24.7266 C +9.7129 23.9707 8.0488 24.0918 6.4463 24.3779 C +7.0186 23.2891 6.6172 21.3447 5.8164 20.5439 C +6.8184 20.5801 8.1699 19.8652 9.4785 18.8838 C +8.6436 18.0645 6.8164 18.2246 4.9004 18.8838 C +4.9004 17.5107 4.0781 15.7734 3.2412 14.5918 C +4.5576 14.6484 5.7031 13.9629 6.5605 12.9316 C +7.2256 14.5 9.2598 15.6133 10.166 15.5645 C +10.1826 14.1992 8.6094 12.1094 7.5879 11.7109 C +8.1875 11.041 9.207 9.5107 10.166 7.0947 C +10.9648 9.0205 12.1348 10.2627 13.3672 11.1953 C +12.2256 12.7578 12.3994 13.6289 12.7988 15.1074 C +13.541 14.5664 14.5723 14.1338 14.7441 12.1309 C +16.4609 12.416 17.5957 12.3447 19.0938 11.4434 C +18.6387 13.1055 18.6348 14.707 18.9551 16.4063 C +17.1055 16.2666 15.5449 16.4795 14.5156 17.9688 C +15.3457 18.1953 17.6055 18.2549 18.4795 17.3223 C +18.8066 18.3047 19.7012 19.7109 21.1475 20.4043 C +19.707 20.6641 18.7227 21.7637 17.8135 23.4492 C +17.1006 22.0332 14.873 20.3691 13.3711 20.3145 C +15.373 24.3779 15.373 27.2959 13.8525 29.9844 C +f
41.2324 26.0742 m +41.5518 26.7021 41.7549 26.959 V +44.1523 25.0176 48.958 28.3262 49.8535 29.0957 C +49.7432 29.7266 47.6182 30.8643 45.9004 29.834 C +46.3408 31.123 45.4395 33.084 44.2402 34.126 C +45.9805 34.0254 48.126 35.3867 48.6484 36.1289 C +48.8701 35.1514 50.0527 33.8809 51.3379 32.8672 C +51.6895 33.8398 50.9941 35.958 50.0781 37.5605 C +51.3125 38.0605 52.4248 38.9912 52.8828 40.25 C +53.3398 38.9336 54.3428 38.2598 55.6875 37.5039 C +54.5273 36.0762 53.7471 33.9023 54.0273 33.0391 C +55.3496 33.374 56.9209 36.0918 57.0439 37.1816 C +57.9189 36.415 59.4727 35.7285 62.0537 35.4219 C +60.3535 34.3438 59.9902 32.3516 59.4063 30.9219 C +58.2588 31.3682 56.0898 31.4277 55.1152 30.8643 C +55.8281 30.2852 57.168 29.7344 59.1777 29.7207 C +59.1777 28.1758 59.6406 27.043 60.8945 25.8281 C +59.1719 25.8418 57.0723 25.3555 55.5762 24.9629 C +55.3281 26.292 54.4844 27.8887 53.3398 28.2891 C +53.334 27.4277 53.5996 25.1797 54.4844 24.5117 C +53.6201 23.9443 52.3672 22.5674 51.9102 20.8496 C +51.2881 22.1758 50.4268 23.4805 48.5645 23.9238 C +49.749 24.9766 50.584 26.9941 50.25 28.4609 C +45.1973 24.4785 42.5215 25.7773 41.2324 26.0742 C +f
27.7578 38.7324 m +28.4346 38.9316 28.7246 39.084 V +27.2559 41.7969 31.707 46.0776 32.627 46.8169 C +33.2275 46.5918 33.3477 44.0586 32.6699 42.7227 C +33.5137 42.8457 35.7031 41.4678 36.4609 40.1787 C +36.5254 40.8652 38.0957 43.8066 38.9219 44.1846 C +38.002 44.582 37.3359 46.0547 36.5742 47.5039 C +37.5957 47.6709 38.9961 46.7485 40.4668 45.8438 C +40.9814 46.6445 42.3555 47.6177 43.6143 48.1328 C +42.5264 48.8198 42.0313 49.5615 41.5352 51.0205 C +40.4922 50.4556 38.3057 50.3057 37.7764 50.5938 C +38.291 51.7056 40.5371 52.2485 41.2676 52.1958 C +41.0137 53.0576 40.8652 55.2109 41.0391 57.8037 C +39.3789 56.4878 37.834 55.1719 36.1738 55.2285 C +36.4434 53.8076 35.8076 52.002 35.4307 51.5088 C +34.8574 52.2529 34.4463 53.0796 34.8008 55.0576 C +33.3486 55.5425 32.1113 56.0879 30.7373 57.3467 C +30.7373 55.5146 30.166 54.314 29.2969 53.0366 C +30.5576 52.5488 31.8301 51.3467 31.8252 50.3076 C +30.9775 50.46 29.2852 51.2036 28.793 52.1958 C +28.0742 51.4497 26.3906 50.1396 24.7871 50.1357 C +25.9746 49.2817 26.8945 48.2466 26.9893 46.335 C +28.2422 47.3057 30.6953 47.9209 32.0752 47.3237 C +27.2344 43.0869 27.7031 40.0547 27.7578 38.7324 C +f
13.5195 70.3916 m +12.9941 69.9209 12.7988 69.6587 V +15.2891 67.8418 13.0352 62.0146 12.5225 60.9517 C +11.8828 60.8955 10.4766 63.6367 10.5117 65.1348 C +9.3809 64.3789 7.7148 64.4995 6.1133 64.7856 C +6.6855 63.6987 6.2842 61.7529 5.4834 60.9517 C +6.4854 60.9878 7.8359 60.2729 9.1455 59.2925 C +8.3105 58.4717 6.4834 58.6338 4.5674 59.2925 C +4.5674 57.9189 3.7461 56.1816 2.9082 54.9995 C +4.2246 55.0576 5.3691 54.3706 6.2275 53.3408 C +6.8926 54.9097 8.9258 56.0215 9.832 55.9727 C +9.8496 54.6079 8.2764 52.5176 7.2539 52.1187 C +7.8545 51.4497 8.873 49.9189 9.832 47.5039 C +10.6309 49.4297 11.8008 50.6719 13.0342 51.6045 C +11.8926 53.1655 12.0664 54.0366 12.4648 55.5146 C +13.209 54.9746 14.2393 54.5415 14.4102 52.5386 C +16.127 52.8247 17.2637 52.7529 18.7598 51.8525 C +18.3057 53.5137 18.3027 55.1147 18.623 56.8149 C +16.7725 56.6748 15.2129 56.8887 14.1826 58.377 C +15.0117 58.6035 17.2725 58.6626 18.1465 57.731 C +18.4736 58.7129 19.3691 60.1187 20.8145 60.8125 C +19.375 61.0728 18.3896 62.1719 17.4805 63.8579 C +16.7676 62.4429 14.541 60.7769 13.0371 60.7227 C +15.041 64.7856 15.041 67.7046 13.5195 70.3916 C +f
41.2324 64.4824 m +41.5518 65.1113 41.7549 65.3682 V +44.1523 63.4272 48.958 66.7354 49.8535 67.5034 C +49.7432 68.1362 47.6182 69.2725 45.9004 68.2422 C +46.3408 69.5313 45.4395 71.4922 44.2402 72.5342 C +45.9805 72.4341 48.126 73.7954 48.6484 74.5371 C +48.8701 73.5601 50.0527 72.29 51.3379 71.2754 C +51.6895 72.249 50.9941 74.3662 50.0781 75.9683 C +51.3125 76.4692 52.4248 77.3994 52.8828 78.6582 C +53.3398 77.3423 54.3428 76.667 55.6875 75.9111 C +54.5273 74.4844 53.7471 72.3101 54.0273 71.4473 C +55.3496 71.7822 56.9209 74.5 57.0439 75.5903 C +57.9189 74.8232 59.4727 74.1372 62.0537 73.8311 C +60.3535 72.7534 59.9902 70.7612 59.4063 69.3301 C +58.2588 69.7773 56.0898 69.8364 55.1152 69.2725 C +55.8281 68.6934 57.168 68.1431 59.1777 68.1284 C +59.1777 66.583 59.6406 65.4512 60.8945 64.2373 C +59.1719 64.249 57.0723 63.7632 55.5762 63.3721 C +55.3281 64.7002 54.4844 66.2974 53.3398 66.6973 C +53.334 65.8364 53.5996 63.5874 54.4844 62.9214 C +53.6201 62.353 52.3672 60.9751 51.9102 59.2583 C +51.2881 60.583 50.4268 61.8882 48.5645 62.333 C +49.749 63.3862 50.584 65.4033 50.25 66.8691 C +45.1973 62.8872 42.5215 64.1851 41.2324 64.4824 C +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 +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_BeginBrushPattern +(New Pattern 1) +0 A +u
1 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7834.75 8587 m +-7834.75 8563 L +-7884.75 8563 L +-7884.75 8587 L +-7834.75 8587 L +n
u
0 Ap +0 O +1 g +-7854.75 8585 m +-7866.96 8588.0527 -7875.4434 8578.0605 -7884.75 8570.9512 C +F
-7844.75 8585 m +-7861.1279 8589.0947 -7870.8008 8569.7227 -7884.75 8565.3154 C +F
-7884.75 8565 m +-7864.75 8560 -7854.75 8590 -7834.75 8585 C +F
-7874.75 8565 m +-7858.3721 8560.9053 -7848.6992 8580.2773 -7834.75 8584.6846 C +F
-7864.75 8565 m +-7852.54 8561.9473 -7844.0566 8571.9395 -7834.75 8579.0488 C +F
-7844.75 8565 m +-7841.1279 8564.0947 -7837.835 8564.3408 -7834.75 8565.3154 C +F
-7874.75 8585 m +-7878.3721 8585.9053 -7881.665 8585.6592 -7884.75 8584.6846 C +F
-7844.7817 8565.125 m +-7850.9009 8563.6162 -7854.7817 8565.125 V +-7858.877 8563.6484 -7864.7817 8565.125 V +-7869.7446 8563.4492 -7874.7817 8565.125 V +-7880.7969 8563.5742 -7884.7817 8565.125 V +-7884.7817 8584.8096 L +-7881.6958 8585.7842 -7878.2969 8585.9912 -7874.3799 8584.9082 C +-7868.2134 8586.4912 -7864.4634 8584.9082 V +-7859.4634 8586.4912 -7854.3799 8584.8242 V +-7850.0474 8586.4082 -7844.3799 8584.9082 V +-7838.8799 8586.3242 -7834.7817 8585.125 V +-7834.7817 8565.4404 L +-7837.5254 8564.4287 -7840.6514 8563.9287 -7844.7817 8565.125 C +f
0 R +0 G +1 J 1 j 0.5 w
-7864.75 8585 m +-7872.54 8586.9473 -7878.813 8583.585 -7884.75 8579.0488 C +S
-7854.75 8585 m +-7866.96 8588.0527 -7875.4434 8578.0605 -7884.75 8570.9512 C +S
-7844.75 8585 m +-7861.1279 8589.0947 -7870.8008 8569.7227 -7884.75 8565.3154 C +S
-7884.75 8565 m +-7864.75 8560 -7854.75 8590 -7834.75 8585 C +S
-7874.75 8565 m +-7858.3721 8560.9053 -7848.6992 8580.2773 -7834.75 8584.6846 C +S
-7864.75 8565 m +-7852.54 8561.9473 -7844.0566 8571.9395 -7834.75 8579.0488 C +S
-7854.75 8565 m +-7846.96 8563.0527 -7840.687 8566.415 -7834.75 8570.9512 C +S
-7844.75 8565 m +-7841.1279 8564.0947 -7837.835 8564.3408 -7834.75 8565.3154 C +S
-7874.75 8585 m +-7878.3721 8585.9053 -7881.665 8585.6592 -7884.75 8584.6846 C +S
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 2) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884 8586 m +-7819.187 8586 L +-7819.187 8521.9023 L +-7884 8521.9023 L +-7884 8586 L +n
u
0 O +0 g +-7849.6978 8544.4297 m +-7851.6094 8521.9023 L +-7853.5215 8544.4297 L +-7852.9033 8544.3066 -7852.2642 8544.2402 -7851.6094 8544.2402 c +-7850.9551 8544.2402 -7850.3159 8544.3066 -7849.6978 8544.4297 C +f
-7861.2402 8552.3975 m +-7884 8554.3301 L +-7861.1138 8556.2734 L +-7861.2856 8555.5469 -7861.3848 8554.793 -7861.3848 8554.0156 c +-7861.3848 8553.4629 -7861.3281 8552.9248 -7861.2402 8552.3975 C +f
-7856.519 8545.5723 m +-7870.1626 8536.8047 L +-7860.2153 8549.377 L +-7859.3574 8547.791 -7858.0718 8546.4766 -7856.519 8545.5723 C +f
-7853.481 8563.6074 m +-7851.5786 8586 L +-7849.6768 8563.5967 L +-7850.3018 8563.7227 -7850.9473 8563.791 -7851.6094 8563.791 c +-7852.25 8563.791 -7852.873 8563.7246 -7853.481 8563.6074 C +f
-7841.9609 8555.5068 m +-7819.187 8553.5732 L +-7842.083 8551.6289 L +-7842.083 8551.8506 L +-7841.9258 8552.5488 -7841.834 8553.2695 -7841.834 8554.0156 c +-7841.834 8554.5234 -7841.8848 8555.0195 -7841.9609 8555.5068 C +f
-7860.1138 8558.8262 m +-7870.1641 8571.5293 L +-7856.2778 8562.6055 L +-7857.8823 8561.7305 -7859.2114 8560.416 -7860.1138 8558.8262 C +f
-7842.9961 8549.3945 m +-7832.875 8536.6055 L +-7846.7666 8545.5313 L +-7845.1768 8546.4414 -7843.8633 8547.7793 -7842.9961 8549.3945 C +f
-7846.6895 8562.4512 m +-7832.873 8571.3281 L +-7842.9658 8558.5732 L +-7843.8198 8560.1895 -7845.1152 8561.5313 -7846.6895 8562.4512 C +f
-7842.8887 8558.6133 m +-7842.3862 8557.6641 -7842.043 8556.6211 -7841.875 8555.5195 c +-7841.7993 8555.0293 -7841.748 8554.5273 -7841.748 8554.0156 c +-7841.748 8553.2637 -7841.8398 8552.5352 -7841.998 8551.8311 c +-7842.1958 8550.957 -7842.5049 8550.124 -7842.918 8549.3545 c +-7843.7954 8547.7246 -7845.1191 8546.374 -7846.7241 8545.4561 c +-7847.6294 8544.9375 -7848.6226 8544.5537 -7849.6802 8544.3457 c +-7850.3047 8544.2207 -7850.9497 8544.1523 -7851.6094 8544.1523 c +-7852.2695 8544.1523 -7852.915 8544.2207 -7853.5391 8544.3457 c +-7854.623 8544.5605 -7855.6382 8544.957 -7856.5625 8545.4961 c +-7858.1313 8546.4102 -7859.4282 8547.7363 -7860.291 8549.335 c +-7860.7969 8550.2695 -7861.145 8551.2969 -7861.3262 8552.3828 c +-7861.415 8552.916 -7861.4727 8553.459 -7861.4727 8554.0156 c +-7861.4727 8554.8008 -7861.3711 8555.5605 -7861.1978 8556.293 c +-7860.981 8557.207 -7860.6406 8558.0732 -7860.187 8558.8701 c +-7859.2793 8560.4727 -7857.939 8561.8008 -7856.3174 8562.6826 c +-7855.4487 8563.1553 -7854.5 8563.498 -7853.4961 8563.6934 c +-7852.8848 8563.8115 -7852.2554 8563.8779 -7851.6094 8563.8779 c +-7850.9414 8563.8779 -7850.29 8563.8086 -7849.6602 8563.6826 c +-7848.5786 8563.4668 -7847.5664 8563.0654 -7846.6455 8562.5273 c +-7845.0566 8561.5977 -7843.751 8560.2441 -7842.8887 8558.6133 c +f
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 3) +0 A +u
1 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7874.75 8587 m +-7874.75 8563 L +-7884.75 8563 L +-7884.75 8587 L +-7874.75 8587 L +n
u
u
0 Ap +0 O +1 g +-7875.4058 8578.5361 m +-7874.9878 8577.4355 -7874.75 8576.2471 -7874.75 8575 c +-7874.75 8573.1377 -7875.2681 8571.4004 -7876.1543 8569.9072 c +-7877.897 8566.9736 -7881.0898 8565 -7884.75 8565 C +-7884.75 8585 L +-7884.4297 8585 -7884.1143 8584.9814 -7883.8018 8584.9521 c +-7881.9121 8584.7754 -7880.1807 8584.0645 -7878.7441 8582.9824 c +-7877.2471 8581.8545 -7876.0801 8580.3184 -7875.4058 8578.5361 c +f
0 R +0 G +1 J 1 j 0.5 w
-7884.75 8565.3174 m +-7881.7207 8566.2744 -7878.8926 8567.9326 -7876.1543 8569.9072 C +S
-7884.75 8570.9512 m +-7881.5991 8573.3564 -7878.543 8576.0869 -7875.4058 8578.5361 C +S
-7878.7441 8582.9824 m +-7880.8105 8581.8916 -7882.7993 8580.5342 -7884.75 8579.043 C +S
-7883.8018 8584.9521 m +-7884.1191 8584.8682 -7884.4375 8584.7852 -7884.75 8584.6865 C +S
-7878.7441 8582.9824 m +-7880.1807 8584.0645 -7881.9121 8584.7744 -7883.8018 8584.9521 C +S
-7875.4058 8578.5361 m +-7874.9878 8577.4355 -7874.75 8576.2471 -7874.75 8575 c +-7874.75 8573.1377 -7875.2681 8571.4004 -7876.1543 8569.9072 C +S
-7884.75 8585 m +-7884.4297 8585 -7884.1143 8584.9814 -7883.8018 8584.9521 C +S
-7878.7441 8582.9824 m +-7877.2471 8581.8545 -7876.0801 8580.3184 -7875.4058 8578.5361 C +S
-7876.1543 8569.9072 m +-7877.8975 8566.9736 -7881.0898 8565 -7884.75 8565 C +S
U
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 5) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7726.3994 8587 m +-7726.3994 8573.4199 L +-7885 8573.4199 L +-7885 8587 L +-7726.3994 8587 L +n
u
u
0 O +0.285 0.228 0.171 0 k +-7741.0786 8585.4844 m +-7741.043 8586.6895 L +-7727.5103 8587.5176 -7726.8418 8586.2822 v +-7726.7441 8586.1016 -7726.647 8585.7148 -7726.561 8585.1934 C +-7728.584 8585.8242 -7738.291 8585.5713 -7741.0786 8585.4844 C +f
0.44 0.352 0.264 0 k +-7741.4063 8574.0234 m +-7741.3711 8575.2676 L +-7738.4912 8575.0488 -7728.1914 8574.3164 -7726.543 8574.8652 C +-7726.7031 8574.2188 -7726.9199 8573.7646 -7727.2046 8573.6152 c +-7728.8306 8572.7656 -7741.4063 8574.0234 Y +f
0.145 0.116 0.087 0 k +-7741.3711 8575.2676 m +-7741.0786 8585.4844 L +-7738.291 8585.5713 -7728.584 8585.8242 -7726.561 8585.1934 C +-7726.1519 8582.7773 -7725.9258 8577.3604 -7726.543 8574.8652 C +-7728.1914 8574.3164 -7738.4912 8575.0488 -7741.3711 8575.2676 C +f
U
u
0.155 0.124 0.093 0 k +-7766.9375 8579.2734 m +-7765.897 8579.6563 L +-7747.0728 8575.1465 L +-7747.481 8574.3145 L +-7766.3633 8576.7246 L +-7767.252 8577.0059 L +-7767.6504 8576.8936 -7768.1934 8576.8242 V +-7767.6094 8577.2373 -7767.1426 8578.1406 -7766.9375 8579.2734 C +f
u
0.085 0.068 0.051 0 k +-7771.7993 8583.666 m +-7772.5977 8583.7217 -7769.749 8583.6641 Y +-7770.3481 8583.0176 -7770.771 8581.8203 -7770.8105 8580.4375 c +-7770.8169 8580.2246 -7770.8105 8580.0176 -7770.7993 8579.8135 C +-7771.041 8579.707 -7771.0918 8579.7734 -7771.6289 8579.5645 C +-7771 8583.6113 -7771.7993 8583.666 v +f
0.305 0.244 0.183 0 k +-7770.3442 8576.8672 m +-7770.5527 8576.8105 -7770.4937 8578.9307 Y +-7769.4785 8579.7588 L +-7767.8359 8578.9434 L +-7766.9375 8579.2734 L +-7767.1426 8578.1406 -7767.6094 8577.2373 -7768.1934 8576.8242 C +-7768.6094 8576.7715 -7769.874 8576.7998 -7770.3442 8576.8672 C +f
U
0.115 0.092 0.069 0 k +-7766.9375 8579.2734 m +-7767.8359 8578.9434 L +-7769.4785 8579.7588 L +-7770.4937 8578.9307 L +-7770.793 8579.708 -7770.7993 8579.8135 V +-7769.5137 8580.3789 -7768.1831 8580.7402 -7766.8398 8580.9258 C +-7766.79 8580.7275 -7766.7842 8580.543 -7766.79 8580.3369 c +-7766.7998 8579.9717 -7766.8218 8579.6182 -7766.9375 8579.2734 C +f
0.41 0.328 0.246 0 k +-7747.4512 8575.3965 m +-7749.377 8576.6426 -7758.3862 8582.0986 -7766.8398 8580.9258 C +-7766.9038 8582.0928 -7767.248 8583.0908 -7767.75 8583.6631 C +-7767.1895 8583.6621 L +-7746.7402 8586.7559 L +-7747.0366 8576.4258 L +-7747.0728 8575.1465 L +-7747.2046 8575.2373 -7747.4512 8575.3965 v +f
0.395 0.316 0.237 0 k +-7770.8105 8580.4375 m +-7770.771 8581.8203 -7770.3481 8583.0176 -7769.749 8583.6641 C +-7767.6807 8583.6631 L +-7767.1782 8583.0908 -7766.8218 8582.0713 -7766.8398 8580.9258 C +-7768.1831 8580.7402 -7769.5137 8580.3789 -7770.7993 8579.8135 C +-7770.8105 8580.0176 -7770.8169 8580.2246 -7770.8105 8580.4375 c +f
U
u
0 0 0 0.11 k +-7741.2642 8574.2012 m +-7740.2407 8574.0352 L +-7741.2642 8574.2012 L +-7741.2642 8574.2012 L +f
0 0 0 0.34 k +-7747.481 8574.3145 m +-7747.0728 8575.1465 L +-7745.6714 8574.918 L +-7744.5234 8574.7314 L +-7742.6758 8574.4307 L +-7741.2642 8574.2012 L +-7740.2407 8574.0352 L +-7740.2954 8573.7168 -7740.3672 8573.498 -7740.4648 8573.4199 C +-7747.481 8574.3145 L +f
0 0 0 0.32 k +-7745.8042 8579.207 m +-7746.041 8586.8613 L +-7740.7144 8587 L +-7739.7266 8583.5146 -7740.1816 8579.1543 V +-7745.8042 8579.207 L +f
U
0.025 0.02 0.015 0 k +-7739.3223 8576.3848 m +-7736.373 8576.9199 -7733.2402 8577.1602 -7730.3159 8576.3613 c +-7730.2856 8576.3496 -7730.2754 8576.3184 -7730.2871 8576.2969 c +-7730.2881 8576.2656 -7730.3198 8576.2559 -7730.3418 8576.2559 c +-7733.2422 8577.0645 -7736.375 8576.8242 -7739.3042 8576.2783 c +-7739.3262 8576.2793 -7739.3574 8576.291 -7739.3672 8576.3223 c +-7739.3662 8576.3438 -7739.355 8576.375 -7739.3223 8576.3848 c +-7739.3223 8576.3848 l +f
-7737.8374 8575.3076 m +-7737.7295 8575.3789 -7737.6313 8575.4941 -7737.5234 8575.502 c +-7733.7886 8575.832 -7730.1631 8575.7813 -7726.4746 8575.6641 c +-7726.4526 8575.6641 -7726.4209 8575.6426 -7726.4214 8575.6211 c +-7726.4214 8575.5879 -7726.4551 8575.5684 -7726.4766 8575.5684 c +-7729.3223 8575.6816 -7732.1401 8575.6992 -7735.0039 8575.5352 c +-7735.9336 8575.4766 -7736.9082 8575.7402 -7737.7778 8575.2207 c +-7737.7993 8575.2109 -7737.8306 8575.2109 -7737.8506 8575.2334 c +-7737.8618 8575.2559 -7737.8594 8575.2871 -7737.8374 8575.3076 c +-7737.8374 8575.3076 l +f
-7733.373 8577.3672 m +-7731.5098 8578.6797 -7729.3022 8579.374 -7727.1001 8579.8867 c +-7727.0679 8579.8965 -7727.0474 8579.8848 -7727.0366 8579.8535 c +-7727.0273 8579.8203 -7727.0488 8579.8008 -7727.0703 8579.79 c +-7729.2617 8579.2656 -7731.459 8578.6035 -7733.3105 8577.2803 c +-7733.3433 8577.2598 -7733.375 8577.2715 -7733.3848 8577.293 c +-7733.4058 8577.3145 -7733.3945 8577.3457 -7733.373 8577.3672 c +-7733.373 8577.3672 l +f
-7738.9321 8584.0566 m +-7736.7295 8584.5703 -7734.5298 8585.0303 -7732.2798 8585.2754 c +-7732.2598 8585.2852 -7732.229 8585.2637 -7732.229 8585.2422 c +-7732.2183 8585.209 -7732.2407 8585.1777 -7732.2729 8585.1787 c +-7734.5122 8584.8809 -7736.7305 8584.5176 -7738.9126 8583.9502 c +-7738.9351 8583.9512 -7738.9673 8583.9629 -7738.9766 8583.9941 c +-7738.9751 8584.0156 -7738.9648 8584.0479 -7738.9321 8584.0566 c +-7738.9321 8584.0566 l +f
-7738.439 8583.3604 m +-7736.3457 8584.1973 -7734.1016 8583.9297 -7731.9023 8583.9629 c +-7731.8706 8583.9609 -7731.8496 8583.9395 -7731.8506 8583.9082 c +-7731.8521 8583.875 -7731.873 8583.8555 -7731.8945 8583.8555 c +-7734.0928 8583.8438 -7736.3374 8584.0996 -7738.4209 8583.2529 c +-7738.4434 8583.2539 -7738.4746 8583.2656 -7738.4834 8583.2969 c +-7738.4834 8583.3184 -7738.4722 8583.3506 -7738.439 8583.3604 c +-7738.439 8583.3604 l +f
-7737.707 8584.7051 m +-7736.3833 8584.752 -7735.1504 8584.5469 -7733.8271 8584.209 c +-7733.3594 8584.0996 -7732.9199 8584.2266 -7732.4609 8584.2129 c +-7731.897 8584.1973 l +-7731.874 8584.1963 -7731.8633 8584.1855 -7731.8535 8584.1738 c +-7731.834 8584.1523 -7731.8442 8584.1211 -7731.8662 8584.0996 c +-7732.0625 8583.9453 l +-7732.0742 8583.9453 -7732.085 8583.9355 -7732.0962 8583.9355 c +-7732.5 8583.9473 l +-7733.9551 8584.1914 -7735.457 8584.6719 -7736.8926 8584.0742 c +-7736.9258 8584.0645 -7736.957 8584.0859 -7736.9673 8584.1074 c +-7736.9673 8584.1396 -7736.9551 8584.1602 -7736.9336 8584.1709 c +-7735.647 8584.6992 -7734.1714 8584.4756 -7732.8818 8584.0547 c +-7732.0918 8584.043 L +-7732.124 8584.0332 L +-7731.9282 8584.1875 L +-7731.8984 8584.0898 L +-7732.4639 8584.1064 l +-7732.9321 8584.1406 -7733.3848 8583.9834 -7733.8398 8584.1035 c +-7735.1543 8584.4609 -7736.3975 8584.625 -7737.71 8584.5986 c +-7737.7422 8584.5996 -7737.7642 8584.6211 -7737.7617 8584.6533 c +-7737.7617 8584.6855 -7737.7402 8584.7061 -7737.707 8584.7051 c +-7737.707 8584.7051 l +f
-7738.5718 8585.0605 m +-7735.8711 8586.2207 -7732.9023 8585.5703 -7730.1279 8585.1816 c +-7729.7832 8585.2891 l +-7729.7617 8585.2988 -7729.7417 8585.2871 -7729.7207 8585.2656 c +-7729.71 8585.2441 -7729.7217 8585.2129 -7729.7422 8585.2021 c +-7730.0801 8585.0098 l +-7732.7754 8584.3926 -7735.5391 8584.7813 -7738.271 8584.7852 c +-7738.3022 8584.7871 -7738.3232 8584.8086 -7738.3223 8584.8398 c +-7738.3198 8584.8721 -7738.2983 8584.8926 -7738.2681 8584.8926 c +-7735.6738 8584.9355 -7733.0303 8584.4434 -7730.4727 8585.0742 c +-7729.7954 8585.2891 L +-7729.7534 8585.1914 L +-7730.1406 8585.0859 l +-7732.9058 8585.4424 -7735.8418 8586.1348 -7738.5313 8584.9746 c +-7738.5537 8584.9648 -7738.585 8584.9648 -7738.5962 8584.998 c +-7738.6055 8585.0195 -7738.605 8585.0508 -7738.5718 8585.0605 c +-7738.5718 8585.0605 l +f
-7735.6895 8578.3945 m +-7734.3945 8578.9004 -7732.9834 8578.6465 -7731.6802 8578.3438 c +-7731.647 8578.3418 -7731.6367 8578.3203 -7731.6382 8578.2891 c +-7731.6504 8578.2568 -7731.6714 8578.2461 -7731.7031 8578.248 c +-7732.998 8578.5303 -7734.377 8578.8154 -7735.6504 8578.2969 c +-7735.6826 8578.2871 -7735.7144 8578.2988 -7735.7246 8578.3311 c +-7735.7222 8578.3525 -7735.7114 8578.3848 -7735.6895 8578.3945 c +-7735.6895 8578.3945 l +f
-7736.1401 8580.2207 m +-7734.2266 8580.6895 -7732.3145 8581.1035 -7730.355 8581.3242 c +-7730.3242 8581.334 -7730.3022 8581.3125 -7730.293 8581.2803 c +-7730.2954 8581.2598 -7730.3159 8581.2285 -7730.3374 8581.2285 c +-7732.2959 8581.0078 -7734.209 8580.582 -7736.1206 8580.1133 c +-7736.1426 8580.1152 -7736.1738 8580.126 -7736.1831 8580.1582 c +-7736.1831 8580.1797 -7736.1719 8580.2109 -7736.1401 8580.2207 c +-7736.1401 8580.2207 l +f
-7736.9336 8582.6348 m +-7734.499 8583.4609 -7731.8647 8583.0547 -7729.3457 8583.0879 c +-7729.313 8583.0879 -7729.293 8583.0664 -7729.293 8583.0332 c +-7729.2954 8583.0117 -7729.3159 8582.9922 -7729.3481 8582.9922 c +-7731.8574 8582.916 -7734.481 8583.3848 -7736.8945 8582.5264 c +-7736.9282 8582.5273 -7736.959 8582.5391 -7736.9688 8582.5605 c +-7736.9678 8582.5918 -7736.9561 8582.624 -7736.9336 8582.6348 c +-7736.9336 8582.6348 l +f
-7732.0542 8583.8496 m +-7730.6582 8584.5449 -7729.0503 8584.4033 -7727.5342 8584.4668 c +-7727.502 8584.4648 -7727.4824 8584.4434 -7727.4824 8584.4121 c +-7727.4834 8584.3906 -7727.5054 8584.3594 -7727.5366 8584.3594 c +-7729.0137 8584.2207 -7730.6489 8584.5234 -7732.0039 8583.7617 c +-7732.0366 8583.7529 -7732.0679 8583.7637 -7732.0786 8583.7861 c +-7732.0879 8583.8076 -7732.0767 8583.8398 -7732.0542 8583.8496 c +-7732.0542 8583.8496 l +f
-7731.3418 8580.4248 m +-7730.3926 8580.3975 -7729.4336 8580.3701 -7728.4839 8580.3428 c +-7728.4526 8580.3418 -7728.4312 8580.3203 -7728.4336 8580.2881 c +-7728.4336 8580.2559 -7728.4551 8580.2354 -7728.4878 8580.2363 c +-7729.437 8580.2637 -7730.397 8580.291 -7731.3457 8580.3184 c +-7731.377 8580.3184 -7731.3975 8580.3418 -7731.3975 8580.373 c +-7731.397 8580.4043 -7731.374 8580.4258 -7731.3418 8580.4248 c +-7731.3418 8580.4248 l +f
-7729.1592 8578.0361 m +-7728.6895 8578.0645 -7728.209 8578.0723 -7727.7383 8578.0918 c +-7727.7168 8578.0908 -7727.6855 8578.0684 -7727.6865 8578.0371 c +-7727.687 8578.0039 -7727.71 8577.9844 -7727.7417 8577.9844 c +-7728.2114 8577.9873 -7728.6816 8577.9375 -7729.1514 8577.9395 c +-7729.1831 8577.9297 -7729.2031 8577.9512 -7729.2134 8577.9844 c +-7729.2129 8578.0156 -7729.1914 8578.0371 -7729.1592 8578.0361 c +-7729.1592 8578.0361 l +f
-7736.9702 8580.2344 m +-7736.5688 8580.5107 -7736.125 8580.6797 -7735.645 8580.751 c +-7735.6113 8580.7607 -7735.5918 8580.7383 -7735.5806 8580.7168 c +-7735.5703 8580.6855 -7735.5928 8580.6543 -7735.6152 8580.6543 c +-7736.0854 8580.5723 -7736.5176 8580.4023 -7736.9209 8580.1475 c +-7736.9521 8580.1377 -7736.9849 8580.1387 -7736.9946 8580.1709 c +-7737.0039 8580.1934 -7736.9922 8580.2246 -7736.9702 8580.2344 c +-7736.9702 8580.2344 l +f
-7738.1904 8586.085 m +-7735.7344 8586.5273 -7733.2983 8587.001 -7730.7993 8586.7266 c +-7730.7778 8586.7266 -7730.7568 8586.7041 -7730.7578 8586.6719 c +-7730.7578 8586.6406 -7730.7798 8586.6191 -7730.8022 8586.6191 c +-7733.291 8586.873 -7735.7344 8586.4844 -7738.1719 8585.9775 c +-7738.1934 8585.9785 -7738.2256 8585.9902 -7738.2344 8586.0215 c +-7738.2344 8586.043 -7738.2222 8586.0752 -7738.1904 8586.085 c +-7738.1904 8586.085 l +f
0.195 0.156 0.117 0 k +-7738.166 8574.6445 m +-7735.7969 8574.2676 -7733.4058 8574.3477 -7731.0298 8574.5898 c +-7730.998 8574.5879 -7730.9766 8574.5664 -7730.9766 8574.5352 c +-7730.9785 8574.5137 -7731 8574.4824 -7731.0215 8574.4824 c +-7733.4082 8574.2422 -7735.791 8574.1602 -7738.1694 8574.5391 c +-7738.2026 8574.5391 -7738.2222 8574.5605 -7738.2217 8574.5938 c +-7738.2207 8574.625 -7738.1992 8574.6465 -7738.166 8574.6445 c +-7738.166 8574.6445 l +f
0.335 0.268 0.201 0 k +-7737.4351 8574.1113 m +-7734.9282 8574.1152 -7732.4146 8574.2773 -7729.918 8573.8965 c +-7729.8862 8573.8945 -7729.8647 8573.873 -7729.8662 8573.8418 c +-7729.8672 8573.8086 -7729.8896 8573.7891 -7729.9209 8573.7891 c +-7732.418 8574.1699 -7734.9297 8574.0293 -7737.4375 8574.0059 c +-7737.46 8574.0059 -7737.481 8574.0273 -7737.4785 8574.0596 c +-7737.4785 8574.0918 -7737.457 8574.1123 -7737.4351 8574.1113 c +-7737.4351 8574.1113 l +f
0.205 0.164 0.123 0 k +-7738.9766 8574.3262 m +-7737.5039 8574.668 -7736.0078 8574.4023 -7734.5391 8574.2207 c +-7734.5078 8574.2207 -7734.4873 8574.1973 -7734.499 8574.166 c +-7734.5 8574.1348 -7734.5215 8574.1133 -7734.5537 8574.125 c +-7736.0103 8574.2842 -7737.4961 8574.583 -7738.9473 8574.2188 c +-7738.9785 8574.2207 -7739.0103 8574.2324 -7739.0098 8574.2637 c +-7739.019 8574.2852 -7738.998 8574.3164 -7738.9766 8574.3262 c +-7738.9766 8574.3262 l +f
-7732.3535 8573.7949 m +-7731.1978 8573.9219 -7730.0273 8573.8145 -7728.8926 8573.5898 c +-7728.8711 8573.5781 -7728.8506 8573.5566 -7728.8618 8573.5244 c +-7728.8623 8573.5029 -7728.8945 8573.4824 -7728.916 8573.4941 c +-7730.0503 8573.7402 -7731.1914 8573.7939 -7732.3462 8573.6885 c +-7732.3794 8573.6895 -7732.3984 8573.7109 -7732.4087 8573.7324 c +-7732.4082 8573.7646 -7732.3862 8573.7852 -7732.3535 8573.7949 c +-7732.3535 8573.7949 l +f
0.335 0.268 0.201 0 k +-7739.2681 8576.4473 m +-7737.9214 8577.1885 -7736.3066 8576.5977 -7734.855 8576.6416 c +-7734.8223 8576.6406 -7734.8022 8576.6191 -7734.8022 8576.5859 c +-7734.8042 8576.5654 -7734.8262 8576.5449 -7734.8574 8576.5449 c +-7736.2886 8576.4902 -7737.8823 8577.0801 -7739.2168 8576.3506 c +-7739.2383 8576.3398 -7739.2695 8576.3516 -7739.291 8576.374 c +-7739.3008 8576.3955 -7739.2886 8576.4277 -7739.2681 8576.4473 c +-7739.2681 8576.4473 l +f
-7737.8945 8578.5645 m +-7735.6719 8579.0449 -7733.3896 8578.6162 -7731.1504 8578.5625 c +-7731.1177 8578.5615 -7731.0977 8578.5391 -7731.0977 8578.5078 c +-7731.1001 8578.4863 -7731.1318 8578.4668 -7731.1519 8578.4668 c +-7733.3833 8578.4775 -7735.6519 8578.9805 -7737.875 8578.457 c +-7737.8975 8578.457 -7737.9287 8578.4688 -7737.9375 8578.502 c +-7737.9375 8578.5225 -7737.9258 8578.5547 -7737.8945 8578.5645 c +-7737.8945 8578.5645 l +f
-7732.0273 8575.1406 m +-7730.3496 8575.9688 -7728.499 8576.502 -7726.603 8576.3613 c +-7726.5718 8576.3613 -7726.5513 8576.3389 -7726.5527 8576.3066 c +-7726.5527 8576.2754 -7726.5742 8576.2539 -7726.6074 8576.2559 c +-7728.481 8576.416 -7730.3198 8575.8604 -7731.9873 8575.0547 c +-7732.0078 8575.0449 -7732.041 8575.0449 -7732.0503 8575.0781 c +-7732.061 8575.0996 -7732.061 8575.1309 -7732.0273 8575.1406 c +-7732.0273 8575.1406 l +f
u
0.5 0.85 1 0.45 k +-7885 8581.9082 m +-7885.0254 8582.4883 -7884.5664 8583.1875 -7883.167 8583.9902 C +-7882.8521 8584.0029 -7881.3945 8584.0234 -7879.0889 8584.0488 C +-7879.0889 8581.8223 L +-7881.1382 8581.8457 -7883.1177 8581.8867 -7885 8581.9082 C +f
-7884.5088 8580.9688 m +-7879.0889 8580.8447 L +-7879.0889 8579.8145 L +-7882.644 8579.959 L +-7883.8145 8580.3301 -7884.5088 8580.9688 V +f
0.5 0.85 1 0.32 k +-7879.0889 8580.8252 m +-7884.4746 8580.9434 L +-7884.7695 8581.2148 -7884.9849 8581.5566 -7885 8581.9277 C +-7883.1177 8581.9063 -7881.1382 8581.8848 -7879.0889 8581.8613 C +-7879.0889 8580.8252 L +f
0.5 0.85 1 0.45 k +-7774.1504 8580.6172 m +-7852.3584 8581.541 -7879.1079 8581.8418 V +-7879.1079 8584.0488 L +-7862.8145 8584.2324 -7803.9902 8584.707 Y +-7769.749 8583.6641 L +-7770.457 8580.5684 L +-7774.1504 8580.6172 L +f
0.5 0.85 1 0.12 k +-7879.1079 8579.8145 m +-7879.1079 8580.8447 L +-7770.4258 8579 L +-7770.3833 8576.8633 L +-7803.6553 8576.7129 L +-7879.1079 8579.8145 L +f
u
0.065 0.052 0.039 0 k +-7747.0728 8575.1465 m +-7747.0366 8576.4258 L +-7747.2954 8575.1172 L +-7765.897 8579.6563 L +-7766.9375 8579.2734 L +-7766.8794 8579.6055 -7766.8398 8579.957 -7766.8306 8580.3223 c +-7766.8242 8580.5283 -7766.8281 8580.7285 -7766.8398 8580.9258 C +-7758.3862 8582.0986 -7748.9634 8577.6719 -7747.0366 8576.4258 C +-7746.7402 8586.7559 L +-7746.041 8586.8613 L +-7745.8042 8579.207 L +-7740.1816 8579.1543 L +-7740.0898 8577.0137 -7740.0718 8575.0215 -7740.2407 8574.0352 C +-7747.0728 8575.1465 L +f
0.4 0.7 1 0 k +-7770.457 8580.5879 m +-7770.4258 8578.9805 L +-7879.1079 8580.8252 L +-7879.1079 8581.8613 L +-7852.3584 8581.5605 -7770.457 8580.5879 Y +f
U
U
0.025 0.02 0.015 0 k +-7734.7344 8583.0293 m +-7734.7344 8583.0625 -7734.7129 8583.082 -7734.6802 8583.082 c +-7731.6714 8583.1133 -7729.4214 8582.9453 -7726.415 8582.8594 C +-7726.4087 8582.7656 L +-7729.3262 8582.8701 -7731.7607 8583.0078 -7734.6841 8582.9746 C +-7734.7168 8582.9766 -7734.7358 8582.998 -7734.7344 8583.0293 C +f
-7726.3994 8582.7656 m +-7726.4082 8582.7441 L +-7726.4087 8582.7656 L +-7726.4063 8582.7656 -7726.4033 8582.7656 -7726.3994 8582.7656 C +f
-7730.4487 8581.4238 m +-7731.4458 8581.292 -7732.3394 8581.7656 -7733.2114 8582.1973 C +-7733.2441 8582.208 -7733.2534 8582.2402 -7733.2422 8582.2715 C +-7733.2305 8582.293 -7733.1982 8582.3027 -7733.1777 8582.291 c +-7732.3262 8581.8301 -7731.4312 8581.4199 -7730.4678 8581.5195 c +-7729.1079 8581.6621 -7727.9038 8582.375 -7726.5254 8582.4531 C +-7726.4463 8582.3594 L +-7728.04 8582.2656 -7728.8647 8581.623 -7730.4487 8581.4238 c +f
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 6) +0 A +u
1 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884.75 8563 m +-7884.75 8587 L +-7874.75 8587 L +-7874.75 8563 L +-7884.75 8563 L +n
0 Ap +0 O +1 g +-7874.75 8565 m +-7875.0703 8565 -7875.3857 8565.0186 -7875.6982 8565.0479 c +-7877.5879 8565.2256 -7879.3198 8565.9346 -7880.7559 8567.0176 c +-7882.2529 8568.1465 -7883.4199 8569.6816 -7884.0942 8571.4639 c +-7884.5122 8572.5645 -7884.75 8573.7529 -7884.75 8575 c +-7884.75 8576.8623 -7884.2319 8578.5996 -7883.3457 8580.0918 c +-7881.6025 8583.0273 -7878.4102 8585 -7874.75 8585 C +-7874.75 8565 L +f
0 R +0 G +1 J 1 j 0.5 w
-7874.75 8584.6816 m +-7877.7793 8583.7256 -7880.6074 8582.0674 -7883.3457 8580.0918 C +S
-7874.75 8579.0488 m +-7877.8999 8576.6436 -7880.957 8573.9131 -7884.0942 8571.4639 C +S
-7880.7559 8567.0176 m +-7878.6904 8568.1084 -7876.7017 8569.4668 -7874.75 8570.957 C +S
-7875.6982 8565.0479 m +-7875.3809 8565.1309 -7875.063 8565.2148 -7874.75 8565.3145 C +S
-7880.7559 8567.0176 m +-7879.3193 8565.9355 -7877.5879 8565.2256 -7875.6982 8565.0479 C +S
-7884.0942 8571.4639 m +-7884.5122 8572.5645 -7884.75 8573.7529 -7884.75 8575 c +-7884.75 8576.8623 -7884.231 8578.5996 -7883.3457 8580.0918 C +S
-7874.75 8565 m +-7875.0703 8565 -7875.3857 8565.0186 -7875.6982 8565.0479 C +S
-7880.7559 8567.0176 m +-7882.2529 8568.1465 -7883.4199 8569.6816 -7884.0942 8571.4639 C +S
-7883.3457 8580.0918 m +-7881.6025 8583.0273 -7878.4102 8585 -7874.75 8585 C +S
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 8) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7883.9521 8584.3125 m +-7776.7954 8584.3125 L +-7776.7954 8570.1855 L +-7883.9521 8570.1855 L +-7883.9521 8584.3125 L +n
u
0 O +0 0 0 1 k +-7882.2832 8583.623 m +-7882.8535 8586 -7882.8184 8582.0039 V +-7883.0479 8578.8027 L +-7883.6167 8576.4551 L +-7883.4502 8574.123 L +-7881.9502 8573.4551 -7865.2832 8572.123 V +-7858.6167 8570.7891 -7849.6167 8570.7891 V +-7784.3936 8571.4766 -7779.4912 8572.8848 v +-7820.3882 8570.875 -7822.9688 8571.5117 v +-7783.8569 8573.1602 -7780.8545 8574.4316 v +-7818.79 8572.5469 -7822.167 8574.1777 v +-7787.249 8575.9102 -7783.021 8577.5313 v +-7789.7217 8576.8828 -7791.5127 8577.082 v +-7788.3896 8577.5703 l +-7793.4194 8577.502 l +-7796.3218 8577.1289 l +-7788.4521 8578.2422 -7787.9033 8578.8086 v +-7784.3154 8578.1309 -7798.5186 8578.3848 v +-7832.1177 8574.4551 -7882.2832 8583.623 V +f
/BBAccumRotation (5.805971) XT +0 R +0 0 0 0.5 K +0.025 w
-7883.9502 8573.123 m +-7863.667 8571.2949 -7843.9727 8570.2207 v +-7801.1514 8570.502 -7796.5737 8570.9004 v +-7784.1631 8571.0313 -7776.7959 8572.0273 v +S
/BBAccumRotation (5.805971) XT +0 0 0 1 K +-7821.8369 8570.4082 m +-7825.2959 8570.0273 -7851.2607 8570.2793 Y +-7861.627 8570.1602 -7883.9502 8573.123 Y +S
/BBAccumRotation (5.805971) XT +-7820.9873 8573.6641 m +-7790.3608 8574.582 -7783.6606 8575.2324 v +S
/BBAccumRotation (5.805971) XT +0 0 0 0.5 K +-7829.6201 8578.2051 m +-7794.3706 8579.6172 -7791.4058 8580.1406 v +S
/BBAccumRotation (5.805971) XT +U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 10) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884 8586 m +-7833.8921 8586 L +-7833.8921 8529.9756 L +-7884 8529.9756 L +-7884 8586 L +n
u
0 O +0.1 1 1 0 k +-7846.9014 8551.5752 m +-7848.7178 8545.0957 -7858.8247 8548.4658 Y +-7858.791 8548.5303 L +-7868.8999 8545.1611 -7870.7144 8551.6396 V +-7876.6758 8569.0068 -7871.4922 8575.7451 V +-7864.7529 8585.3369 -7860.6055 8585.3369 V +-7857.0103 8585.2705 L +-7852.8638 8585.2705 -7846.125 8575.6816 Y +-7840.9409 8568.9424 -7846.9014 8551.5752 Y +f
u
0 0 0 1 k +-7851.3926 8529.9756 m +-7852.1167 8531.4199 -7852.9238 8532.4756 V +-7852.4058 8532.0635 -7851.5151 8531.1924 -7851.3926 8529.9756 C +f
-7865.064 8532.4854 m +-7865.8711 8531.4307 -7866.5942 8529.9863 Y +-7866.4727 8531.2021 -7865.582 8532.0732 -7865.064 8532.4854 C +f
U
0 0.61 0.74 0 k +-7850.5977 8554.4609 m +-7851.9038 8549.7959 -7859.1816 8552.2217 Y +-7859.1567 8552.2686 L +-7866.436 8549.8428 -7867.7417 8554.5078 V +-7872.0337 8567.0117 -7868.3018 8571.8633 V +-7863.4487 8578.7686 -7860.4634 8578.7686 V +-7857.875 8578.7227 L +-7854.8887 8578.7227 -7850.0366 8571.8174 Y +-7846.3042 8566.9639 -7850.5977 8554.4609 Y +f
u
1 Ap +0.73 0.43 1 0.22 k +0 R +0 0 0 1 K +-7854.6226 8557.2754 m +-7853.813 8557.2754 -7853.1558 8556.6182 -7853.1558 8555.8096 c +-7853.1558 8555 -7853.813 8554.3428 -7854.6226 8554.3428 c +-7855.4321 8554.3428 -7856.0889 8555 -7856.0889 8555.8096 c +-7856.0889 8556.6182 -7855.4321 8557.2754 -7854.6226 8557.2754 c +b
-7854.3638 8568.9971 m +-7853.0806 8568.9971 -7852.0415 8568.1201 -7852.0415 8567.042 c +-7852.0415 8565.9619 -7853.0806 8565.0869 -7854.3638 8565.0869 c +-7855.645 8565.0869 -7856.6846 8565.9619 -7856.6846 8567.042 c +-7856.6846 8568.1201 -7855.645 8568.9971 -7854.3638 8568.9971 c +b
-7853.834 8580.7861 m +-7852.2817 8580.7861 -7851.0239 8580.1299 -7851.0239 8579.3213 c +-7851.0239 8578.5117 -7852.2817 8577.8545 -7853.834 8577.8545 c +-7855.3862 8577.8545 -7856.645 8578.5117 -7856.645 8579.3213 c +-7856.645 8580.1299 -7855.3862 8580.7861 -7853.834 8580.7861 c +b
-7849.6104 8552.5264 m +-7848.8687 8552.5264 -7848.2671 8551.8154 -7848.2671 8550.9365 c +-7848.2671 8550.0596 -7848.8687 8549.3477 -7849.6104 8549.3477 c +-7850.353 8549.3477 -7850.9546 8550.0596 -7850.9546 8550.9365 c +-7850.9546 8551.8154 -7850.353 8552.5264 -7849.6104 8552.5264 c +b
-7848.0034 8574.083 m +-7848.8818 8573.7354 -7849.1494 8572.335 -7848.603 8570.9541 c +-7848.0566 8569.5752 -7846.9014 8568.7363 -7846.0234 8569.085 c +-7845.145 8569.4326 -7844.877 8570.833 -7845.4233 8572.2139 c +-7845.9702 8573.5947 -7847.125 8574.4316 -7848.0034 8574.083 c +b
u
-7863.0566 8557.1592 m +-7863.8662 8557.1592 -7864.5239 8556.502 -7864.5239 8555.6934 c +-7864.5239 8554.8828 -7863.8662 8554.2266 -7863.0566 8554.2266 c +-7862.248 8554.2266 -7861.5913 8554.8828 -7861.5913 8555.6934 c +-7861.5913 8556.502 -7862.248 8557.1592 -7863.0566 8557.1592 c +b
-7863.3159 8568.8799 m +-7864.5991 8568.8799 -7865.6382 8568.0049 -7865.6382 8566.9248 c +-7865.6382 8565.8447 -7864.5991 8564.9697 -7863.3159 8564.9697 c +-7862.0342 8564.9697 -7860.9951 8565.8447 -7860.9951 8566.9248 c +-7860.9951 8568.0049 -7862.0342 8568.8799 -7863.3159 8568.8799 c +b
-7863.8457 8580.6709 m +-7865.3975 8580.6709 -7866.6558 8580.0146 -7866.6558 8579.2041 c +-7866.6558 8578.3936 -7865.3975 8577.7383 -7863.8457 8577.7383 c +-7862.293 8577.7383 -7861.0352 8578.3936 -7861.0352 8579.2041 c +-7861.0352 8580.0146 -7862.293 8580.6709 -7863.8457 8580.6709 c +b
-7868.0679 8552.4092 m +-7868.811 8552.4092 -7869.4121 8551.6982 -7869.4121 8550.8213 c +-7869.4121 8549.9443 -7868.811 8549.2334 -7868.0679 8549.2334 c +-7867.3262 8549.2334 -7866.7241 8549.9443 -7866.7241 8550.8213 c +-7866.7241 8551.6982 -7867.3262 8552.4092 -7868.0679 8552.4092 c +b
-7869.6758 8573.9678 m +-7868.7983 8573.6201 -7868.5298 8572.2188 -7869.0762 8570.8379 c +-7869.6226 8569.457 -7870.7778 8568.6201 -7871.6558 8568.9678 c +-7872.5342 8569.3164 -7872.8032 8570.7178 -7872.2568 8572.0967 c +-7871.7104 8573.4775 -7870.5552 8574.3154 -7869.6758 8573.9678 c +b
U
U
0 Ap +0 0 0 1 k +-7859.1318 8552.6553 m +-7859.1318 8585.3145 l +F
u
-7843.3906 8538.5303 m +-7844.0815 8537.8369 -7847.019 8538.7021 Y +-7848.229 8538.874 -7848.0562 8541.2939 Y +-7847.019 8543.3682 -7847.7104 8543.1943 Y +-7848.2998 8543.1943 -7849.855 8543.1143 -7850.7822 8543.0635 C +-7851.1226 8541.6689 -7852.6128 8540.4756 -7854.7217 8539.7695 C +-7852.7578 8536.4775 -7854.5176 8535.7949 -7856.2935 8535.79 C +-7856.3096 8535.7021 -7856.332 8535.6162 -7856.3599 8535.5332 C +-7854.1089 8535.5791 -7853.6392 8533.2588 Y +-7853.4048 8533.0635 -7853.1606 8532.7861 -7852.9238 8532.4756 C +-7853.1416 8532.6475 -7853.2944 8532.7393 Y +-7854.2583 8532.7393 -7855.8774 8534.4941 -7856.4966 8535.207 C +-7856.9194 8534.4434 -7857.853 8533.9111 -7858.9434 8533.9111 c +-7860.0698 8533.9111 -7861.0322 8534.4795 -7861.4312 8535.2852 C +-7861.9985 8534.624 -7863.6968 8532.751 -7864.6943 8532.751 C +-7864.8462 8532.6572 -7865.064 8532.4854 V +-7864.8281 8532.7939 -7864.583 8533.0732 -7864.3481 8533.2686 C +-7863.8638 8535.6563 -7861.5254 8535.5342 V +-7861.5449 8535.5889 -7861.5674 8535.6436 -7861.5806 8535.7021 C +-7864.9238 8535.6924 -7863.937 8538.3174 -7863.2104 8539.6602 C +-7865.5918 8540.376 -7867.2646 8541.7012 -7867.5239 8543.25 C +-7868.4473 8543.2998 -7869.6729 8543.3584 -7870.1802 8543.3584 C +-7870.8726 8543.5313 -7869.835 8541.458 V +-7869.6626 8539.0391 -7870.8726 8538.8662 V +-7873.8096 8538.002 -7874.501 8538.6934 V +-7875.1919 8539.5566 -7876.0562 8538.3467 V +-7875.1919 8540.0752 -7873.291 8539.5566 V +-7870.6982 8538.8662 -7871.3906 8540.5938 V +-7871.9087 8544.0498 -7870.1802 8544.7402 V +-7868.0342 8545.8545 -7866.2822 8546.0889 V +-7865.9087 8546.4141 -7865.4639 8546.7109 -7864.958 8546.9766 C +-7867.5562 8547.0469 -7870.2246 8547.9209 -7871.0752 8550.9561 C +-7871.5151 8552.2432 -7872.0518 8554.2432 V +-7873.1025 8554.8252 -7874.3022 8556.0078 -7875.541 8558.2627 C +-7876.394 8561.4502 -7877.167 8556.7129 V +-7878.3975 8553.6494 -7879.6504 8553.5381 V +-7878.4702 8555.2871 -7878.9038 8556.416 V +-7877.2998 8560.917 -7875.6138 8559.8994 V +-7874.0986 8559.2197 -7872.688 8556.8154 V +-7873.0698 8558.4971 -7873.4326 8560.417 -7873.6743 8562.3906 C +-7874.4888 8562.3975 L +-7876.3506 8561.4795 -7876.3262 8564.959 V +-7877.1226 8568.9453 -7876.3594 8571.6826 V +-7875.647 8574.1504 -7878.1274 8572.9307 V +-7879.2842 8573.3242 -7879.9839 8572.7881 V +-7882.3882 8571.4131 -7884 8573.124 V +-7882.147 8572.8799 -7881.4482 8573.417 V +-7879.9785 8573.5615 -7879.897 8574.1787 V +-7876.9561 8574.8555 -7876.188 8574.0771 V +-7874.417 8573.2139 -7875.1304 8570.3604 V +-7875.8799 8562.4814 -7874.3198 8564.4053 V +-7874.1182 8564.4219 -7873.8784 8564.5176 V +-7874.1519 8568.4326 -7873.8018 8572.3252 -7871.9961 8574.8516 C +-7875.4536 8567.333 -7870.2974 8552.3037 Y +-7868.9609 8547.5303 -7863.127 8548.1016 -7860.145 8548.7344 C +-7860.0718 8550.1299 -7859.8374 8551.9492 -7859.1318 8552.6553 C +-7858.2134 8550.6963 -7858.2358 8549.0732 V +-7857.0762 8548.7217 -7850.2817 8546.8447 -7847.4487 8550.3369 C +-7848.4312 8547.8135 -7850.8262 8547.0186 -7853.2007 8546.9189 C +-7852.667 8546.6318 -7852.2041 8546.3047 -7851.8257 8545.9502 C +-7850.041 8545.7861 -7847.7104 8544.5771 Y +-7845.9814 8543.8857 -7846.5015 8540.4307 Y +-7847.1919 8538.7021 -7844.5991 8539.3936 Y +-7842.7002 8539.9111 -7841.835 8538.1836 Y +-7842.7002 8539.3936 -7843.3906 8538.5303 Y +f
-7837.9082 8572.9521 m +-7838.6074 8573.4893 -7839.7632 8573.0938 Y +-7842.2446 8574.3135 -7841.5327 8571.8467 Y +-7840.769 8569.1104 -7841.564 8565.1221 Y +-7841.541 8561.6445 -7843.4014 8562.5596 Y +-7844.0342 8562.5557 L +-7844.3198 8560.6123 -7844.7046 8558.7549 -7845.0898 8557.1699 C +-7843.7129 8559.4199 -7842.2778 8560.0635 Y +-7840.5913 8561.082 -7838.9878 8556.5791 Y +-7839.4214 8555.4502 -7838.2417 8553.7021 Y +-7839.4937 8553.8125 -7840.7246 8556.876 Y +-7841.4976 8561.6152 -7842.3511 8558.4268 Y +-7843.5776 8556.1904 -7844.769 8555.0098 -7845.814 8554.4229 C +-7846.2026 8553.0635 -7846.4858 8552.2393 Y +-7846.7002 8551.4727 -7847.0337 8550.8486 -7847.4487 8550.3369 C +-7847.3799 8550.5127 -7847.3174 8550.6982 -7847.2632 8550.8916 C +-7841.3022 8568.2588 -7846.4858 8574.9971 V +-7853.2246 8584.5869 -7857.3721 8584.5869 V +-7860.9663 8584.6514 L +-7865.1138 8584.6514 -7871.853 8575.0615 Y +-7871.9038 8574.9961 -7871.9463 8574.9219 -7871.9961 8574.8516 C +-7871.7378 8575.4141 -7871.437 8575.9404 -7871.0752 8576.4092 C +-7864.3359 8586 -7860.189 8586 V +-7856.5942 8585.9346 L +-7852.4482 8585.9346 -7845.709 8576.3447 Y +-7843.5801 8573.5771 -7843.3306 8569.0176 -7843.7769 8564.6055 C +-7843.6553 8564.5752 -7843.5698 8564.5684 Y +-7842.0112 8562.6475 -7842.7598 8570.5244 Y +-7843.4746 8573.3789 -7841.7026 8574.2402 Y +-7840.9351 8575.0186 -7837.9946 8574.3428 Y +-7837.9136 8573.7256 -7836.4434 8573.5811 Y +-7835.7446 8573.0449 -7833.8921 8573.2881 Y +-7835.5024 8571.5771 -7837.9082 8572.9521 Y +f
U
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 34) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884.0254 8586.0264 m +-7828.0542 8586.0264 L +-7828.0542 8524.5342 L +-7884.0254 8524.5342 L +-7884.0254 8586.0264 L +n
u
u
0 O +0.0745 0.9 0.9019 0.18 k +0 R +0 0 0 1 K +1 J 1 j 0.0518 w
-7857.5991 8562.7217 m +-7857.3594 8573.5215 -7862.8794 8583.8398 v +-7862.4009 8586 -7860.959 8586 v +-7861.2002 8582.6406 -7860.2393 8582.1611 v +-7855.9199 8570.1602 -7856.6382 8562.2402 v +-7857.5991 8562.7217 l +b
-7857.5991 8562.7217 m +-7859.2793 8568 -7871.0391 8569.2012 v +-7875.3594 8569.6807 -7875.5991 8571.1211 v +-7869.1206 8561.5195 -7868.1602 8561.7607 v +-7881.3594 8556.001 -7884 8550.7197 v +-7878.959 8553.6006 -7875.5991 8551.4404 v +-7867.6802 8551.2012 -7862.6406 8553.3613 v +-7858.8008 8555.2813 -7866.7202 8539.2012 v +-7862.8794 8550.9609 -7859.2793 8524.5605 v +-7858.3198 8529.8408 -7856.8799 8531.2813 v +-7850.8799 8538.9609 -7851.8398 8541.1211 v +-7852.3198 8544.9609 -7847.7598 8538.7207 v +-7848 8548.3213 -7850.4009 8551.6807 v +-7852.5591 8555.2813 -7846.5591 8553.1211 v +-7840.5591 8551.2012 -7835.2793 8552.8809 v +-7829.7598 8554.3203 -7828.0801 8551.4404 v +-7839.8398 8563.9209 -7845.5991 8563.6807 v +-7843.9194 8567.2813 l +-7841.519 8572.0811 -7842 8573.2813 v +-7857.2681 8563.8828 -7857.5991 8562.7217 v +b
-7857.5991 8562.7217 m +-7854.959 8544.2402 -7857.5991 8536.5605 v +-7859.998 8526.001 -7859.2793 8524.5605 v +S
-7856.1602 8551.4404 m +-7850.1602 8546.6406 -7848.959 8541.3604 v +S
-7856.1602 8550.7197 m +-7865.0391 8543.041 -7866.7202 8539.2012 v +S
-7828.0801 8551.4404 m +-7829.2793 8553.6006 -7857.3594 8561.7607 y +-7862.4009 8556.2422 -7873.9199 8553.8408 v +-7881.5986 8552.8809 -7884 8550.7197 v +S
-7874.6382 8569.6807 m +-7863.1191 8560.5615 -7857.3594 8561.7607 y +-7843.1992 8568 -7842 8573.2813 v +S
U
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 36) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7883.8496 8585.9961 m +-7833.96 8585.9961 L +-7833.96 8534.9258 L +-7883.8496 8534.9258 L +-7883.8496 8585.9961 L +n
u
0 O +0.025 0.1 0.475 0 k +-7862.1504 8553.9043 m +-7864.4766 8552.8125 -7866.6914 8552.4434 -7868.373 8552.9238 c +-7869.0518 8553.1172 -7869.645 8553.4473 -7870.123 8553.9238 c +-7870.6006 8554.4023 -7870.9297 8554.9951 -7871.123 8555.6729 c +-7872.0088 8558.7715 -7870.0103 8563.6777 -7865.9233 8567.7666 c +-7861.834 8571.8535 -7856.9297 8573.8516 -7853.8286 8572.9668 c +-7853.1519 8572.7715 -7852.5586 8572.4424 -7852.0806 8571.9658 c +-7851.603 8571.4883 -7851.2754 8570.8955 -7851.082 8570.2168 c +-7850.5176 8568.2461 -7851.1226 8565.5449 -7852.6855 8562.7891 c +-7853.582 8561.21 -7854.791 8559.6133 -7856.2793 8558.123 c +-7858.1504 8556.2539 -7860.1914 8554.8242 -7862.1504 8553.9043 c +f
u
0.0035 0.014 0.0665 0 k +-7861.2183 8552.9727 m +-7863.8306 8552.0215 -7866.3975 8551.9688 -7868.373 8552.9238 C +-7866.6914 8552.4434 -7864.4766 8552.8125 -7862.1504 8553.9043 c +-7861.6191 8554.1543 -7861.0806 8554.4434 -7860.543 8554.7676 C +-7858.8984 8554.0537 L +-7859.667 8553.6172 -7860.4434 8553.2539 -7861.2183 8552.9727 c +f
0.015 0.06 0.285 0 k +-7858.8984 8554.0537 m +-7860.543 8554.7676 L +-7859.0962 8555.6348 -7857.6426 8556.7607 -7856.2793 8558.123 c +-7856.1538 8558.25 -7856.0327 8558.3779 -7855.9102 8558.5059 C +-7855.2153 8556.8633 L +-7856.3706 8555.7236 -7857.6191 8554.7813 -7858.8984 8554.0537 C +f
U
u
0.039 0.156 0.741 0 k +-7849.687 8541.4043 m +-7849.9746 8541.6914 -7861.2183 8552.9727 Y +-7860.4434 8553.2539 -7859.667 8553.6172 -7858.8984 8554.0537 C +-7845.4146 8540.5703 L +-7847.061 8540.0996 -7848.6406 8540.3555 -7849.687 8541.4043 c +f
0.025 0.1 0.475 0 k +-7845.4146 8540.5703 m +-7858.8984 8554.0537 L +-7857.584 8554.8027 -7856.2969 8555.7754 -7855.1143 8556.957 c +-7855.084 8556.9863 -7855.0586 8557.0156 -7855.0278 8557.0449 C +-7841.3408 8543.3574 L +-7841.5264 8543.1328 -7841.7202 8542.9141 -7841.9302 8542.7012 c +-7843.0103 8541.623 -7844.2305 8540.9082 -7845.4146 8540.5703 C +f
U
u
0.0115 0.046 0.2185 0 k +-7835.9346 8550.3926 m +-7833.5337 8547.9893 -7833.335 8544.0898 -7835.1382 8540.6973 C +-7836.2954 8541.1182 L +-7834.0938 8544.4961 -7833.8398 8548.2949 -7835.9346 8550.3926 c +f
0.015 0.06 0.285 0 k +-7843.5337 8535.5957 m +-7842.582 8534.9258 L +-7845.2046 8534.3516 -7847.8306 8534.9141 -7849.6206 8536.7061 c +-7848.1719 8535.2578 -7845.9082 8534.9307 -7843.5337 8535.5957 C +f
0.0295 0.118 0.5605 0 k +-7843.5337 8535.5957 m +-7845.9082 8534.9307 -7848.1719 8535.2578 -7849.6206 8536.7061 c +-7851.019 8538.1055 -7851.3706 8540.2637 -7850.7954 8542.5469 C +-7848.8672 8539.5449 -7845.4082 8540.5537 V +-7843.585 8535.6309 L +-7843.5337 8535.5957 L +f
*u +0.048 0.192 0.912 0 k +1 D +-7835.9346 8550.3926 m +-7837.2817 8551.7383 -7839.332 8552.1133 -7841.5234 8551.627 C +-7851.6714 8561.7734 L +-7851.7695 8561.5684 -7851.7695 8561.5684 -7851.6714 8561.7734 c +-7850.2246 8564.8145 -7849.9702 8567.916 -7851.082 8570.2168 C +-7850.5176 8568.2461 -7851.1226 8565.5449 -7852.6855 8562.7891 c +-7853.5054 8561.3438 -7854.5918 8559.8848 -7855.9102 8558.5059 C +-7855.2153 8556.8633 L +-7855.1816 8556.8945 -7855.1465 8556.9238 -7855.1143 8556.957 c +-7855.084 8556.9883 -7855.0566 8557.0176 -7855.0273 8557.0469 c +-7855.0278 8557.0469 -7855.0278 8557.0469 -7855.0278 8557.0449 C +-7841.3408 8543.3574 L +-7836.3262 8541.1289 L +-7836.2954 8541.1182 L +-7834.0938 8544.4961 -7833.8398 8548.2949 -7835.9346 8550.3926 c +f
*U +0.0215 0.086 0.4085 0 k +0 D +-7842.582 8534.9258 m +-7843.5337 8535.5957 L +-7841.6846 8536.1113 -7839.7656 8537.2285 -7838.1138 8538.8828 c +-7837.4063 8539.5889 -7836.7998 8540.3418 -7836.2954 8541.1182 C +-7835.1382 8540.6973 L +-7835.6553 8539.7246 -7836.3374 8538.793 -7837.1802 8537.9512 c +-7838.7695 8536.3594 -7840.6758 8535.3428 -7842.582 8534.9258 C +f
0.0205 0.082 0.3895 0 k +-7836.2954 8541.1182 m +-7836.7998 8540.3418 -7837.4063 8539.5889 -7838.1138 8538.8828 c +-7839.7656 8537.2285 -7841.6846 8536.1113 -7843.5337 8535.5957 C +-7843.585 8535.6309 L +-7845.4082 8540.5537 L +-7844.2114 8540.9219 -7842.9878 8541.6436 -7841.9302 8542.7012 c +-7841.7202 8542.9141 -7841.5264 8543.1328 -7841.3408 8543.3574 C +-7836.3262 8541.1289 L +-7836.2954 8541.1182 L +f
U
u
0.445 0.356 0.267 0 k +-7883.8496 8585.9961 m +-7861.957 8562.9688 L +-7862.2007 8562.6494 -7862.5752 8562.6133 -7862.8887 8562.6592 C +-7867.1802 8567.2891 -7878.3145 8579.4561 -7882.7266 8584.2793 C +-7883.5649 8585.3516 -7884 8585.9932 -7883.8496 8585.9961 C +f
0.15 0.12 0.09 0 k +-7883.834 8585.9961 m +-7882.6606 8585.7031 -7861.6934 8564.0029 Y +-7861.6934 8563.502 -7861.7993 8563.1758 -7861.957 8562.9688 C +-7883.8496 8585.9961 L +-7883.8442 8585.9961 -7883.8418 8586 -7883.834 8585.9961 c +f
0.2 0.16 0.12 0 k +-7882.7266 8584.2793 m +-7878.3145 8579.4561 -7867.1802 8567.2891 -7862.8887 8562.6592 C +-7863.2002 8562.7041 -7863.4526 8562.8301 Y +-7864.603 8563.1328 -7878.5742 8578.9619 -7882.7266 8584.2793 C +f
U
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 37) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7882.9502 8585.2324 m +-7833.0391 8585.2324 L +-7833.0391 8521.1152 L +-7882.9502 8521.1152 L +-7882.9502 8585.2324 L +n
u
0 O +0 0 0 1 k +0 R +0 0 0 1 K +0 w
-7833.2358 8521.1152 m +-7833.6064 8521.248 -7833.9858 8521.2832 -7834.3833 8521.2031 c +-7834.4863 8521.168 l +-7834.5254 8521.1602 -7834.5703 8521.1787 -7834.6025 8521.1992 c +-7834.9434 8521.3926 l +-7838.7129 8523.2959 -7842.0962 8525.8965 -7844.5 8529.4473 c +-7845.9634 8531.5918 -7847.123 8533.8789 -7848.7993 8535.8564 c +-7849.1729 8536.209 -7849.1758 8536.7725 -7848.834 8537.1309 c +-7848.4951 8537.501 -7847.918 8537.5078 -7847.561 8537.165 c +-7847.4038 8537.21 l +-7847.2642 8537.1289 -7847.0742 8537.0703 -7847.0234 8536.957 c +-7845.853 8534.2031 -7845.1895 8531.5137 -7843.4336 8529.1387 c +-7841.1719 8526.0947 -7838.1777 8523.9941 -7835.0298 8522.0234 c +-7834.3672 8521.6055 L +-7834.4966 8521.6348 L +-7833.7695 8521.6426 l +-7833.791 8521.6113 -7833.8008 8521.5957 -7833.8223 8521.5645 C +-7833.6064 8521.5234 -7833.377 8521.4746 -7833.1626 8521.4336 c +-7833.0762 8521.4238 -7833.0186 8521.3389 -7833.0391 8521.2383 c +-7833.0503 8521.1523 -7833.1382 8521.1084 -7833.2358 8521.1152 c +-7833.2358 8521.1152 l +b
-7849.2222 8534.9951 m +-7849.5742 8534.8066 -7849.9658 8534.6719 -7850.248 8534.3887 c +-7856.4521 8528.1719 -7866.6802 8527.2734 -7874.0488 8533.6855 C +-7874.1582 8533.7813 -7874.1582 8533.957 -7874.063 8534.0645 C +-7871.0527 8532.9434 -7862.8838 8534.375 -7859.3223 8537.4121 C +-7859.2534 8537.4668 -7859.1465 8537.4531 -7859.1055 8537.3711 C +-7859.0503 8537.3047 -7859.0664 8537.1953 -7859.1328 8537.1563 C +-7862.5625 8534.0859 -7867.0674 8532.29 -7871.6729 8532.748 C +-7868.8535 8531.1855 -7865.6313 8530.4941 -7862.3984 8530.6885 c +-7857.7144 8530.9717 -7853.4634 8533.1191 -7849.3711 8535.2793 c +-7849.291 8535.3193 -7849.1978 8535.293 -7849.1553 8535.2109 C +-7849.1016 8535.1309 -7849.1426 8535.0352 -7849.2222 8534.9951 c +b
-7858.647 8536.3359 m +-7860.2266 8540.3613 -7862.3911 8544.3203 -7865.8018 8547.0762 c +-7865.9648 8547.2119 -7865.9946 8547.4492 -7865.8711 8547.6055 c +-7865.7344 8547.7676 -7865.5049 8547.7793 -7865.3481 8547.6563 c +-7861.123 8545.5967 -7858.1904 8541.1309 -7858.1626 8536.4014 c +-7858.1626 8536.4014 l +-7858.1328 8536.2676 -7858.2354 8536.1348 -7858.3633 8536.1221 c +-7858.5039 8536.1055 -7858.6318 8536.1973 -7858.647 8536.3359 c +-7858.647 8536.3359 l +b
-7852.9414 8541.0176 m +-7853.042 8541.1816 -7853.1152 8541.3838 -7853.2617 8541.4824 c +-7856.0806 8543.3906 -7858.9785 8544.6309 -7861.8848 8546.1328 c +-7862.0503 8546.209 -7862.1118 8546.418 -7862.0313 8546.5703 c +-7861.9512 8546.7227 -7861.7559 8546.7793 -7861.5898 8546.7041 c +-7858.439 8545.3232 -7854.313 8544.5 -7852.6729 8541.1797 c +-7852.6289 8541.1113 -7852.6455 8541.0146 -7852.7266 8540.9648 c +-7852.7959 8540.9199 -7852.897 8540.9492 -7852.9414 8541.0176 c +-7852.9414 8541.0176 l +b
-7852.6602 8541.918 m +-7852.4438 8542.4297 -7852.1431 8542.8896 -7852.0503 8543.4355 c +-7851.2183 8548.2773 -7851.1152 8553.042 -7852.248 8557.6875 c +-7852.248 8557.6875 l +-7852.3418 8557.9531 -7852.2114 8558.2441 -7851.9438 8558.3389 c +-7851.6777 8558.4336 -7851.3882 8558.3125 -7851.2935 8558.0479 c +-7849.293 8552.8115 -7849.897 8546.7373 -7852.3711 8541.7832 c +-7852.4063 8541.7002 -7852.498 8541.6689 -7852.582 8541.6914 c +-7852.6641 8541.7275 -7852.6978 8541.835 -7852.6602 8541.918 c +-7852.6602 8541.918 l +b
-7851.5352 8557.5938 m +-7848.8984 8555.2275 -7846.6816 8552.252 -7845.853 8548.7363 c +-7845.853 8548.7363 l +-7845.7246 8548.1816 -7846.0742 8547.623 -7846.6416 8547.4902 c +-7847.1992 8547.375 -7847.7578 8547.7246 -7847.8862 8548.2793 c +-7848.5649 8551.5313 -7849.8711 8554.6729 -7851.7954 8557.3867 c +-7851.7954 8557.3867 l +-7851.8462 8557.4551 -7851.834 8557.5576 -7851.7695 8557.6201 c +-7851.6992 8557.6699 -7851.5977 8557.6582 -7851.5352 8557.5938 c +-7851.5352 8557.5938 l +b
-7836.3711 8550.1826 m +-7837.7114 8545.8301 -7840.2598 8542.0693 -7843.689 8539.1533 C +-7843.729 8539.0723 -7843.8242 8539.0322 -7843.9038 8539.0859 C +-7843.9863 8539.127 -7844.0122 8539.2207 -7843.9722 8539.3018 C +-7843.957 8539.7891 -7843.7144 8540.2334 -7843.4458 8540.5313 c +-7838.4063 8546.1621 -7834.9902 8554.7197 -7837.3433 8561.9551 C +-7837.0762 8556.4512 -7838.7241 8550.3008 -7842.1362 8545.6738 c +-7843.1606 8544.2695 -7844.7422 8544.1211 -7846.3081 8544.2031 C +-7846.4023 8544.1895 -7846.4834 8544.2432 -7846.4961 8544.3369 c +-7846.5098 8544.4189 -7846.4551 8544.5137 -7846.3623 8544.5254 C +-7843.1479 8545.7695 -7841.4878 8549.2246 -7840.084 8552.1943 c +-7838.415 8555.7441 -7837.7017 8559.6387 -7838.0054 8563.5 C +-7838.0454 8563.6777 -7838.1138 8565.3975 -7837.9775 8565.4102 C +-7837.8306 8565.4395 -7837.709 8565.3438 -7837.6802 8565.1943 C +-7837.645 8565.0449 -7834.6426 8555.7988 -7836.3711 8550.1826 c +b
-7844.4863 8537.4912 m +-7843.3945 8533.6211 -7841.1094 8530.251 -7838.4824 8527.2383 c +-7838.3306 8527.1045 -7838.3145 8526.8867 -7838.4502 8526.7354 c +-7838.5752 8526.6006 -7838.8047 8526.582 -7838.957 8526.7178 c +-7842.3306 8529.332 -7843.4487 8533.541 -7844.7954 8537.375 c +-7844.7954 8537.375 l +-7844.8262 8537.4648 -7844.7754 8537.5586 -7844.6982 8537.5869 c +-7844.6094 8537.6191 -7844.5166 8537.5684 -7844.4863 8537.4912 c +-7844.4863 8537.4912 l +b
-7838.5313 8562.1094 m +-7838.5991 8562.0566 -7838.707 8562.083 -7838.748 8562.1504 C +-7838.9634 8562.4746 -7840.6914 8564.5195 -7841.3926 8565.1406 c +-7846.1719 8569.3945 -7849.5137 8573.9609 -7857.5391 8577.7227 c +-7864.4512 8580.9639 -7867.1113 8583.5957 -7874.3862 8581.8262 c +-7877.687 8581.0293 -7879.0313 8580.5313 -7880.4351 8575.4551 C +-7881.9473 8569.2988 -7880.8672 8571.7832 -7881.084 8564.4385 c +-7881.2222 8559.6973 -7884 8548.4551 -7871.5254 8534.2598 C +-7871.4199 8534.1484 -7871.4336 8533.9961 -7871.5337 8533.9072 C +-7871.6328 8533.8027 -7871.7959 8533.8164 -7871.8862 8533.916 C +-7877.5786 8538.7168 -7881.0234 8545.6582 -7882.3145 8552.9424 c +-7883.2871 8558.4668 -7882.9199 8563.25 -7882.666 8569.6367 c +-7882.5688 8572.0938 -7883.6855 8579.0723 -7878.9102 8583.0625 c +-7875.3926 8586 -7870.3911 8585.5469 -7866.3545 8584.1563 c +-7860.6992 8582.2119 -7855.9727 8579.1465 -7850.8711 8575.6094 c +-7847.2656 8573.125 -7839.2881 8563.2852 -7838.4785 8562.3262 C +-7838.4351 8562.2588 -7838.4502 8562.1504 -7838.5313 8562.1094 C +b
-7873.0503 8549.3057 m +-7872.168 8548.5029 -7871.7017 8549.8457 -7871.4297 8550.6016 c +-7871.1626 8551.3574 -7870.189 8551.25 -7870.5127 8551.5732 c +-7870.8369 8551.8975 -7870.8369 8551.9521 -7871.3232 8551.5195 c +-7871.8086 8551.0879 -7871.8086 8551.7363 -7872.5649 8551.25 c +-7873.3198 8550.7627 -7873.645 8549.8457 -7873.0503 8549.3057 c +b
-7865.6519 8553.9492 m +-7865.3657 8553.5918 -7864.6802 8553.5723 -7864.4648 8553.8945 c +-7864.25 8554.2197 -7863.3306 8554.2734 -7863.4937 8554.5967 c +-7863.6543 8554.9219 -7863.6016 8555.1387 -7864.0874 8554.9219 c +-7864.5737 8554.7051 -7864.4121 8555.2998 -7864.897 8555.084 c +-7865.3833 8554.8672 -7865.8687 8554.2197 -7865.6519 8553.9492 c +b
-7857.6074 8559.0791 m +-7857.1206 8558.7559 -7855.8794 8559.5117 -7856.4727 8559.5117 c +-7857.0674 8559.5117 -7856.311 8560.2676 -7856.8521 8560.4834 c +-7857.3906 8560.6992 -7857.2832 8560.4297 -7857.6074 8560.6445 c +-7857.9297 8560.8613 -7858.3633 8561.2393 -7858.5239 8560.4297 c +-7858.6855 8559.6191 -7858.3633 8559.6191 -7857.9849 8559.3496 c +-7857.6074 8559.0791 -7857.6074 8559.0791 y +b
-7872.2402 8559.3496 m +-7871.1074 8559.2422 -7871.8633 8559.998 -7871.269 8560.4834 c +-7870.6738 8560.9697 -7869.918 8561.6172 -7870.729 8561.4004 c +-7871.5391 8561.1855 -7872.9961 8561.6719 -7872.9434 8560.5381 c +-7872.8887 8559.4033 -7872.6328 8559.3867 -7872.2402 8559.3496 c +b
-7866.5703 8567.6113 m +-7866.1016 8567.3438 -7866.6802 8567.7197 -7866.0303 8567.6113 c +-7865.3833 8567.5039 -7864.7886 8567.6113 -7865.2207 8567.8281 c +-7865.6519 8568.0439 -7866.3008 8568.1523 -7866.4634 8567.9893 c +-7866.625 8567.8281 -7866.9473 8567.8281 -7866.5703 8567.6113 c +b
-7857.0674 8567.1797 m +-7857.4785 8566.1797 -7856.0962 8566.4238 -7855.4473 8566.7461 c +-7854.7998 8567.0723 -7853.8262 8566.4775 -7854.4209 8566.9102 c +-7855.0137 8567.3418 -7854.7998 8566.9102 -7855.3926 8567.2334 c +-7855.9873 8567.5566 -7856.6895 8568.0977 -7857.0674 8567.1797 c +b
-7872.6738 8573.0664 m +-7872.7222 8572.0752 -7871.8086 8572.957 -7871.269 8573.0117 c +-7870.729 8573.0664 -7870.0801 8573.0664 -7870.2432 8573.2813 c +-7870.4038 8573.498 -7870.459 8573.498 -7871.1626 8573.7129 c +-7871.8633 8573.9297 -7872.6191 8574.1445 -7872.6738 8573.0664 c +b
-7873.1582 8567.6113 m +-7874.0664 8567.9746 -7874.293 8567.8809 -7874.5625 8568.2051 c +-7874.834 8568.5293 -7875.1558 8569.2314 -7875.5352 8568.0977 c +-7875.9121 8566.9629 -7875.4282 8565.7764 -7875.0479 8565.9375 c +-7874.6714 8566.0996 -7874.293 8566.7461 -7873.8618 8566.9629 c +-7873.4297 8567.1797 -7872.6191 8567.3945 -7873.1582 8567.6113 c +b
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 41) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884 8586 m +-7803 8586 L +-7803 8481 L +-7884 8481 L +-7884 8586 L +n
u
u
u
0 O +0 0 0 1 k +-7865.8057 8498.4258 m +-7866.0742 8496.6621 -7867.1602 8495.291 -7868.5239 8495.3965 c +-7869.8862 8495.502 -7870.707 8497.0234 -7870.7432 8498.8066 c +-7870.748 8499.0693 -7870.6743 8500.2441 -7870.6304 8500.4775 C +-7870.6382 8500.582 -7870.6191 8500.6738 -7870.6104 8500.7803 c +-7870.5142 8502.0254 -7869.3574 8503.3604 -7867.9414 8503.25 c +-7866.5249 8503.1406 -7865.4897 8501.8613 -7865.6367 8500.4727 c +-7865.644 8500.4072 -7865.6958 8499.626 -7865.707 8499.5625 C +-7865.6816 8499.2852 -7865.7598 8498.7256 -7865.8057 8498.4258 c +f
-7876.2646 8507.7334 m +-7876.9946 8515.916 -7871.5015 8515.1191 v +-7868.3682 8514.0186 -7869.4414 8511.1211 v +-7869.6426 8509.752 -7871.7847 8508.498 v +-7872.146 8508.25 -7872.7632 8507.1016 v +-7873.1294 8505.5977 -7874.5186 8505.2979 v +-7876.0762 8505.251 -7876.2646 8507.7334 v +f
-7850.7646 8516.4971 m +F
-7850.0762 8514.3408 m +-7850.7847 8513.1934 -7853.8848 8513.6279 Y +-7854.811 8513.6885 -7855.3799 8513.1113 Y +-7857.8394 8509.0918 -7861.0386 8509.8857 -7861.4082 8509.9932 C +-7861.4097 8509.9863 L +-7864.999 8510.6045 -7865.2666 8515.6035 V +-7865.4912 8516.3828 -7866.335 8516.7695 V +-7869.2695 8517.8613 -7869.3481 8519.208 V +-7869.8999 8521.1152 -7867.6006 8521.7422 V +-7865.6792 8522.2568 -7863.7886 8519.8945 V +-7862.6113 8518.6797 -7859.5762 8517.9395 V +-7859.5728 8517.9531 L +-7856.3594 8517.0459 -7854.6392 8517.5889 Y +-7851.8521 8518.7676 -7850.4063 8517.4014 Y +-7848.6826 8515.7559 -7850.0762 8514.3408 Y +f
-7863.9834 8497.8789 m +-7864.5854 8496.2002 -7864.2822 8494.4775 -7863.0327 8493.9229 c +-7861.7842 8493.3672 -7860.3384 8494.3164 -7859.4585 8495.8672 c +-7859.3286 8496.0957 -7858.8359 8497.165 -7858.7632 8497.3906 C +-7858.7065 8497.4785 -7858.6792 8497.5684 -7858.6362 8497.667 c +-7858.1289 8498.8086 -7858.5122 8500.5303 -7859.8105 8501.1074 c +-7861.1089 8501.6855 -7862.6279 8501.0527 -7863.1582 8499.7617 c +-7863.1831 8499.7002 -7863.5078 8498.9883 -7863.5298 8498.9268 C +-7863.6831 8498.6963 -7863.8809 8498.166 -7863.9834 8497.8789 c +f
-7849.7129 8500.9316 m +-7845.1802 8507.7822 -7850.3911 8509.6943 v +-7853.6714 8510.2168 -7854.103 8507.1572 v +-7854.5786 8505.8564 -7853.29 8503.7354 v +-7853.0903 8503.3447 -7853.0938 8502.04 v +-7853.4858 8500.5449 -7852.4082 8499.6182 v +-7851.0591 8498.8359 -7849.7129 8500.9316 v +f
U
u
-7824.7358 8550.1074 m +-7824.3687 8548.3623 -7824.9048 8546.6963 -7826.2183 8546.3164 c +-7827.5322 8545.9375 -7828.8345 8547.0752 -7829.4937 8548.7324 c +-7829.5903 8548.9775 -7829.9326 8550.1025 -7829.9746 8550.3369 C +-7830.0176 8550.4326 -7830.0322 8550.5244 -7830.0625 8550.6279 c +-7830.4087 8551.8271 -7829.7935 8553.4805 -7828.4282 8553.875 c +-7827.063 8554.2695 -7825.645 8553.4365 -7825.2969 8552.085 c +-7825.2793 8552.0205 -7825.0552 8551.2705 -7825.0425 8551.207 C +-7824.9214 8550.9551 -7824.7983 8550.4053 -7824.7358 8550.1074 c +f
-7838.2705 8554.6172 m +-7841.8242 8562.0244 -7836.3999 8563.2061 v +-7833.0801 8563.2754 -7833.0688 8560.1846 v +-7832.7778 8558.8311 -7834.3433 8556.9072 v +-7834.5942 8556.5459 -7834.7695 8555.2539 v +-7834.5854 8553.7188 -7835.7793 8552.9492 v +-7837.2222 8552.3594 -7838.2705 8554.6172 v +f
-7817.4648 8571.7695 m +F
-7816.063 8569.9912 m +-7816.3247 8568.6689 -7819.3799 8567.9883 Y +-7820.27 8567.7197 -7820.5986 8566.9795 Y +-7821.4922 8562.3535 -7824.7666 8561.9746 -7825.1494 8561.9453 C +-7825.1494 8561.9395 L +-7828.7271 8561.2588 -7830.731 8565.8467 V +-7831.2153 8566.4961 -7832.1416 8566.5625 V +-7835.272 8566.5557 -7835.8169 8567.7891 V +-7837.0039 8569.3809 -7835.0713 8570.7764 V +-7833.4526 8571.9316 -7830.853 8570.3818 V +-7829.3242 8569.6582 -7826.2222 8570.0293 V +-7826.2231 8570.042 L +-7822.896 8570.3213 -7821.4766 8571.4326 Y +-7819.2793 8573.5146 -7817.4463 8572.7432 Y +-7815.2554 8571.8057 -7816.063 8569.9912 Y +f
-7822.8374 8550.2354 m +-7822.813 8548.4512 -7821.9258 8546.9453 -7820.5601 8546.8633 c +-7819.1943 8546.7803 -7818.1743 8548.1768 -7817.895 8549.9385 c +-7817.854 8550.1973 -7817.7666 8551.3711 -7817.7778 8551.6094 C +-7817.7559 8551.7109 -7817.7617 8551.8037 -7817.7559 8551.9121 c +-7817.6807 8553.1592 -7818.644 8554.6367 -7820.0625 8554.7217 c +-7821.4814 8554.8066 -7822.6826 8553.6826 -7822.7246 8552.2871 c +-7822.7271 8552.2217 -7822.7822 8551.4404 -7822.7798 8551.375 C +-7822.8433 8551.1045 -7822.8423 8550.54 -7822.8374 8550.2354 c +f
-7811.0186 8557.5625 m +-7809.1777 8565.5684 -7814.7271 8565.5303 v +-7817.9834 8564.8691 -7817.3154 8561.8516 v +-7817.3032 8560.4668 -7815.353 8558.9326 v +-7815.0278 8558.6377 -7814.5742 8557.415 v +-7814.417 8555.876 -7813.083 8555.3877 v +-7811.5454 8555.1279 -7811.0186 8557.5625 v +f
U
U
1 Ap +-7884 8586 m +-7884 8481 L +-7803 8481 L +-7803 8586 L +-7884 8586 L +n
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 42) +0 A +u
0 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7857.4609 8559.085 m +-7885 8559.085 L +-7885 8586.624 L +-7857.4609 8586.624 L +-7857.4609 8559.085 L +n
0 O +0 0.55 1 0.12 k +-7871.7598 8577.3623 m +-7871.7598 8587 L +-7870.6343 8587 L +-7870.6343 8577.3623 L +-7871.7598 8577.3623 L +f
0 0.55 1 0.3 k +-7875.4233 8572.876 m +-7874.3096 8571.1553 -7870.8809 8569.457 -7866.4966 8569.457 c +-7862.1152 8569.457 -7858.6138 8571.1064 -7857.5718 8572.874 C +-7857.5718 8572.874 L +-7858.6138 8574.6006 -7862.1152 8576.2979 -7866.4966 8576.2979 c +-7870.875 8576.2979 -7874.3242 8574.5615 -7875.4233 8572.876 C +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 45) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7885 8543.918 m +-7885 8587 L +-7798.2217 8587 L +-7798.2217 8543.918 L +-7885 8543.918 L +n
u
u
0 O +0 0 0 1 k +-7825.2217 8573.2363 m +-7825.2217 8581.0742 L +-7813.2217 8574.1445 L +-7801.2217 8567.2168 L +-7813.2217 8560.2891 L +-7825.2217 8553.3613 L +-7825.2217 8561.4824 L +-7883.9351 8547.7168 L +-7870.9878 8566.8027 L +-7885 8587 L +-7825.2217 8573.2363 L +f
0 1 1 0.1 k +0 R +0 0 0 1 K +-7823.2217 8570.2363 m +-7823.2217 8578.0742 L +-7811.2217 8571.1445 L +-7799.2217 8564.2168 L +-7811.2217 8557.2891 L +-7823.2217 8550.3613 L +-7823.2217 8558.4824 L +-7881.9351 8544.7168 L +-7867.2754 8564.3594 L +-7881.9351 8584 L +-7823.2217 8570.2363 L +b
U
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 50) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884 8586 m +-7756.877 8586 L +-7756.877 8538.415 L +-7884 8538.415 L +-7884 8586 L +n
u
*u +0 O +0.9529 0.949 0.1961 0.0745 k +-7857.793 8570.417 m +-7857.8232 8570.2676 L +-7859.9849 8564.3643 -7860.9438 8561.6377 -7861.2754 8560.2891 c +-7861.3657 8560.2891 L +-7861.6953 8561.6074 -7862.7754 8564.335 -7864.9673 8570.2676 c +-7864.9966 8570.417 L +-7857.793 8570.417 l +f
1 D +-7868.1182 8578.9678 m +-7869.6191 8582.5371 -7870.3994 8584.709 -7868.1182 8584.917 c +-7868.1182 8585.9678 L +-7870.6992 8585.9375 -7873.5806 8585.917 -7876.3418 8585.917 c +-7880.0649 8585.917 -7882.5273 8585.9375 -7884 8585.9678 c +-7884 8584.917 L +-7882.1064 8584.709 -7881.0542 8582.5674 -7873.5513 8565.5029 c +-7861.6953 8538.415 L +-7859.8638 8538.415 L +-7848.1582 8565.5029 L +-7840.8047 8582.5078 -7839.7246 8584.709 -7837.8887 8584.917 c +-7837.8887 8585.9678 L +-7839.5142 8585.9375 -7841.916 8585.917 -7845.5767 8585.917 c +-7848.5488 8585.917 -7851.6694 8585.9375 -7854.7026 8585.9678 c +-7854.7026 8584.917 L +-7852.481 8584.709 -7853.3218 8582.5078 -7854.7617 8578.9678 C +-7868.1182 8578.9678 l +f
*U +*u +0 D +-7813.0762 8554.0811 m +-7813.0762 8550.4717 -7815.3535 8548.0947 -7819.1294 8548.0947 c +-7820.2383 8548.0947 -7821.0767 8548.2158 -7821.5273 8548.2451 c +-7821.5273 8560.5479 L +-7820.8672 8560.6084 -7820.208 8560.6084 -7819.729 8560.6084 c +-7818.2002 8560.6084 -7816.7026 8560.127 -7815.6841 8559.4053 c +-7814.3945 8558.5332 -7813.0762 8556.7881 -7813.0762 8554.1416 C +-7813.0762 8554.0811 l +f
1 D +-7832.0806 8558.3926 m +-7832.0806 8542.6445 -7832.0806 8540.4287 -7834.542 8540.2783 c +-7834.542 8539.3184 L +-7833.042 8539.2588 -7830.3174 8539.1992 -7827.5664 8539.1689 c +-7825.6538 8539.1084 -7822.3945 8539.0186 -7820.1479 8538.9775 c +-7816.582 8538.9775 -7813.585 8539.4258 -7811.0049 8540.2627 c +-7806.353 8541.8477 -7801.9702 8545.8525 -7801.9702 8553.6602 c +-7801.9702 8558.7432 -7804.4014 8562.3193 -7806.5034 8564.0605 c +-7807.583 8565.0215 -7808.8135 8565.832 -7809.7744 8566.3125 c +-7809.7744 8566.4629 L +-7807.5234 8569.4912 -7805.6025 8572.0625 -7799.3906 8580.6426 c +-7797.5 8583.0645 -7795.9102 8584.7383 -7794.7402 8584.9775 c +-7794.7402 8586 L +-7796.6602 8586 -7799 8585.8848 -7801.1294 8585.8848 c +-7803.3511 8585.8848 -7804.8521 8586 -7806.4424 8586 c +-7807.6729 8586 -7808.7241 8585.9404 -7809.5039 8585.2725 c +-7813.0151 8579.8477 -7816.9121 8573.7559 -7820.1182 8568.7139 c +-7820.5078 8568.7139 -7820.957 8568.7139 -7821.5273 8568.7139 c +-7821.5273 8571.2852 L +-7821.5273 8582.5264 -7821.437 8584.7686 -7819.1895 8584.9775 c +-7819.1895 8585.9697 L +-7820.6279 8585.9404 -7823.9194 8585.915 -7826.6992 8585.915 c +-7829.9287 8585.915 -7832.8921 8585.9404 -7834.5122 8585.9697 c +-7834.5122 8584.9775 L +-7832.0518 8584.7686 -7832.0806 8582.5264 -7832.0806 8565.5918 C +-7832.0806 8558.3926 l +f
*U +*u +0 D +-7781.4561 8565.5928 m +-7781.4561 8582.4941 -7781.4561 8584.6484 -7784.2832 8584.9775 C +-7784.2832 8585.9697 l +-7782.3887 8585.9404 -7779.0542 8585.915 -7775.7822 8585.915 c +-7772.6294 8585.915 -7769.5688 8585.9404 -7767.2881 8585.9697 C +-7767.2881 8584.9775 l +-7770.2578 8584.9775 -7770.2881 8582.5244 -7770.2881 8565.5928 C +-7770.2881 8548.1514 L +-7762.8193 8548.1514 l +-7759.999 8548.1514 -7758.5298 8548.96 -7757.8994 8551.2627 C +-7756.9072 8551.2627 l +-7756.9072 8546.4697 -7756.877 8542.415 -7756.877 8539.1709 c +-7761.3486 8539.2012 -7766.748 8539.2314 -7772.0601 8539.2314 C +-7779.7446 8539.2314 l +-7784.5537 8539.2314 -7789.9966 8539.2012 -7794.9614 8539.1709 c +-7794.9614 8542.3848 -7794.9326 8546.4697 -7794.9326 8551.2627 C +-7793.9072 8551.2627 l +-7793.3657 8549.1094 -7791.771 8548.1514 -7788.9438 8548.1514 C +-7781.4561 8548.1514 l +-7781.4561 8565.5928 L +f
*U +U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 62) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7885 8587 m +-7885 8548.7305 L +-7846.7305 8548.7305 L +-7846.7305 8587 L +-7885 8587 L +n
0 O +1 0.14 0.09 0 k +-7846.7305 8569.9043 m +-7846.7305 8561.3408 L +-7885 8561.3408 L +-7885 8569.9043 L +-7846.7305 8569.9043 L +f
-7846.7305 8573.0967 m +-7846.7305 8572.4229 L +-7885 8572.4229 L +-7885 8573.0967 L +-7846.7305 8573.0967 L +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 63) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7885 8587 m +-7885 8548.7305 L +-7846.7305 8548.7305 L +-7846.7305 8587 L +-7885 8587 L +n
0 O +1 0.14 0.09 0 k +-7846.7305 8565.8262 m +-7846.7305 8574.3896 L +-7859.3408 8574.3896 L +-7859.3408 8587 L +-7867.9038 8587 L +-7867.9063 8565.8262 L +-7867.9038 8565.8262 L +-7867.9038 8565.8252 L +-7846.7305 8565.8262 L +f
-7846.7305 8563.3076 m +-7870.4233 8563.3076 L +-7870.4233 8587 L +-7871.0967 8587 L +-7871.0977 8562.6328 L +-7846.7305 8562.6328 L +-7846.7305 8563.3076 L +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 64) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7885 8586.999 m +-7885 8548.7285 L +-7846.7305 8548.7285 L +-7846.7305 8586.999 L +-7885 8586.999 L +n
0 O +1 0.14 0.09 0 k +-7846.7305 8561.3389 m +-7872.3896 8561.3389 L +-7872.3896 8586.999 L +-7863.8262 8587 L +-7863.8262 8569.9033 L +-7846.7305 8569.9033 L +-7846.7305 8561.3389 L +f
-7846.7305 8572.4219 m +-7861.3081 8572.4219 L +-7861.3081 8587 L +-7860.6338 8587 L +-7860.6338 8573.0957 L +-7846.7305 8573.0957 L +-7846.7305 8572.4219 L +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 65) +0 A +u
1 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7857.0625 8559.4609 m +-7884.6025 8559.4609 L +-7884.6025 8587 L +-7857.0625 8587 L +-7857.0625 8559.4609 L +n
0 O +0 0.55 1 0.12 k +-7856.8418 8572.7002 m +-7885 8572.7002 L +-7885 8573.8252 L +-7856.8418 8573.8252 L +-7856.8418 8572.7002 L +f
u
0 0.55 1 0.3 k +-7883.9814 8560.5215 m +-7884.4102 8562.5254 -7883.1865 8566.1514 -7880.0874 8569.251 c +-7876.9878 8572.3496 -7873.3457 8573.6602 -7871.3594 8573.1455 C +-7871.3594 8573.1455 L +-7870.875 8571.1895 -7872.1519 8567.5117 -7875.25 8564.4141 c +-7878.3457 8561.3184 -7882.0122 8560.1064 -7883.9814 8560.5215 C +f
0 0.39 0.7 0.12 k +-7883.9814 8585.9912 m +-7884.4102 8583.9883 -7883.1865 8580.3613 -7880.0874 8577.2617 c +-7876.9878 8574.1641 -7873.3457 8572.8535 -7871.3594 8573.3672 C +-7871.3594 8573.3672 L +-7870.875 8575.3242 -7872.1519 8579.001 -7875.25 8582.0996 c +-7878.3457 8585.1953 -7882.0122 8586.4063 -7883.9814 8585.9912 C +f
U
u
0 0.55 1 0.3 k +-7870.1782 8585.9912 m +-7870.6074 8583.9883 -7869.3838 8580.3613 -7866.2842 8577.2617 c +-7863.1855 8574.1641 -7859.543 8572.8535 -7857.5576 8573.3672 C +-7857.5566 8573.3672 L +-7857.0718 8575.3242 -7858.3496 8579.001 -7861.4473 8582.0996 c +-7864.543 8585.1953 -7868.209 8586.4063 -7870.1782 8585.9912 C +f
0 0.39 0.7 0.12 k +-7870.1782 8560.5215 m +-7870.6074 8562.5254 -7869.3838 8566.1514 -7866.2842 8569.251 c +-7863.1855 8572.3496 -7859.543 8573.6602 -7857.5576 8573.1455 C +-7857.5566 8573.1455 L +-7857.0718 8571.1895 -7858.3496 8567.5117 -7861.4473 8564.4141 c +-7864.543 8561.3184 -7868.209 8560.1064 -7870.1782 8560.5215 C +f
U
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 67) +0 A +u
0 Ap +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7857.4609 8559.085 m +-7885 8559.085 L +-7885 8586.624 L +-7857.4609 8586.624 L +-7857.4609 8559.085 L +n
0 O +0 0.55 1 0.12 k +-7871.7598 8577.3623 m +-7871.7598 8587 L +-7870.6343 8587 L +-7870.6343 8577.3623 L +-7871.7598 8577.3623 L +f
0 0.55 1 0.3 k +-7875.4233 8572.876 m +-7874.3096 8571.1553 -7870.8809 8569.457 -7866.4966 8569.457 c +-7862.1152 8569.457 -7858.6138 8571.1064 -7857.5718 8572.874 C +-7857.5718 8572.874 L +-7858.6138 8574.6006 -7862.1152 8576.2979 -7866.4966 8576.2979 c +-7870.875 8576.2979 -7874.3242 8574.5615 -7875.4233 8572.876 C +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 69) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7857.4609 8559.4609 m +-7885 8559.4609 L +-7885 8587 L +-7857.4609 8587 L +-7857.4609 8559.4609 L +n
0 O +0 0.55 1 0.3 k +-7875.4233 8573.252 m +-7874.3096 8571.5313 -7870.8809 8569.833 -7866.4966 8569.833 c +-7862.1152 8569.833 -7858.6138 8571.4824 -7857.5718 8573.25 C +-7857.5718 8573.25 L +-7858.6138 8574.9766 -7862.1152 8576.6738 -7866.4966 8576.6738 c +-7870.875 8576.6738 -7874.3242 8574.9375 -7875.4233 8573.252 C +f
U
%AI8_EndBrushPattern +%AI8_BeginBrushPattern +(New Pattern 83) +0 A +u
800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +-7884 8585.9355 m +-7670.4009 8585.9355 L +-7670.4009 8578.1348 L +-7884 8578.1348 L +-7884 8585.9355 L +n
0 O +0 0 0 1 k +-7884 8582.0352 m +-7873.9858 8584.5273 -7867.187 8585.875 -7855.2007 8585.9355 c +-7842.2183 8586 -7777.2002 8585.9355 y +-7712.1816 8586 -7699.2002 8585.9355 v +-7687.2129 8585.875 -7680.415 8584.5273 -7670.4009 8582.0352 C +-7680.415 8579.543 -7687.2129 8578.1953 -7699.2002 8578.1348 c +-7712.1816 8578.0693 -7777.2002 8578.1348 y +-7842.2183 8578.0693 -7855.2007 8578.1348 v +-7867.187 8578.1953 -7873.9858 8579.543 -7884 8582.0352 C +f
U
%AI8_EndBrushPattern +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +4 Bn +%AI5_BeginGradient: (Black, White) +(Black, White) 0 2 Bd +[ +< +FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 +D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 +AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 +87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 +5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 +37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 +0F0E0D0C0B0A09080706050403020100 +> +0 %_Br +[ +0 0 50 100 %_BS +%_0 0 50 100 Bs +1 0 50 0 %_BS +%_1 0 50 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Chrome) +(Chrome) 0 6 Bd +[ +0 +< +464646454545444444444343434342424241414141404040403F3F3F3E3E3E3E3D3D3D3C3C3C3C3B +3B3B3B3A3A3A39393939383838383737373636363635353535343434333333333232323131313130 +3030302F2F2F2E2E2E2E2D2D2D2D2C2C2C2B2B2B2B2A2A2A2A292929282828282727272626262625 +2525252424242323232322222222212121202020201F1F1F1F1E1E1E1D1D1D1D1C1C1C1B1B1B1B1A +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 +< +00000101010102020202030303040404040505050606060607070707080808090909090A0A0A0A0B +0B0B0C0C0C0C0D0D0D0D0E0E0E0F0F0F0F1010101111111112121212131313141414141515151516 +161617171717181818181919191A1A1A1A1B1B1B1C1C1C1C1D1D1D1D1E1E1E1F1F1F1F2020202021 +212122222222232323232424242525252526262627272727282828282929292A2A2A2A2B2B2B2B2C +2C2C2D2D2D2D2E2E2E2E2F2F2F303030303131313232323233333333343434353535353636363637 +373738383838393939393A3A3A3B3B3B3B3C3C3C3D3D3D3D3E3E3E3E3F3F3F404040404141414142 +42424343434344444444454545464646 +> +< +000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 +28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F +505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 +78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F +A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 +C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF +F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF +> +< +00000101020203030304040505050606070708080809090A0A0B0B0B0C0C0D0D0D0E0E0F0F101010 +1111121212131314141515151616171718181819191A1A1A1B1B1C1C1D1D1D1E1E1F1F1F20202121 +222222232324242525252626272727282829292A2A2A2B2B2C2C2D2D2D2E2E2F2F2F303031313232 +32333334343435353636373737383839393A3A3A3B3B3C3C3C3D3D3E3E3F3F3F4040414142424243 +4344444445454646474747484849494A4A4A4B4B4C4C4C4D4D4E4E4F4F4F50505151515252535354 +54545555565657575758585959595A5A5B5B5C5C5C5D5D5E5E5E5F5F606061616162626363646464 +6565666666676768686969696A6A6B6B +> +1 %_Br +1 +0 %_Br +< +FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 +D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 +AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 +87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 +5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 +37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 +0F0E0D0C0B0A09080706050403020100 +> +< +4D4C4C4C4B4B4B4A4A4A4A4949494848484747474746464645454544444444434343424242414141 +414040403F3F3F3E3E3E3E3D3D3D3C3C3C3B3B3B3B3A3A3A39393938383838373737363636353535 +35343434333333323232323131313030302F2F2F2F2E2E2E2D2D2D2C2C2C2C2B2B2B2A2A2A292929 +2928282827272726262626252525242424232323232222222121212020201F1F1F1F1E1E1E1D1D1D +1C1C1C1C1B1B1B1A1A1A191919191818181717171616161615151514141413131313121212111111 +101010100F0F0F0E0E0E0D0D0D0D0C0C0C0B0B0B0A0A0A0A09090908080807070707060606050505 +04040404030303020202010101010000 +> +0 +0 +1 %_Br +[ +1 0 50 92 %_BS +%_1 0 50 92 Bs +0 0.275 1 0.12 1 50 59 %_BS +%_0 0.275 1 0.12 1 50 59 Bs +0 0.275 1 0.42 1 50 50 %_BS +%_0 0.275 1 0.42 1 50 50 Bs +1 0 50 49 %_BS +%_1 0 50 49 Bs +1 0 50 41 %_BS +%_1 0 50 41 Bs +1 0.3 0 0 1 50 0 %_BS +%_1 0.3 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 +06060606060606060606060606060606060606060606060606060606060606060607070707070707 +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 +%_0 1 0 0 1 50 100 Bs +1 1 0 0 1 50 80 %_BS +%_1 1 0 0 1 50 80 Bs +1 0.0279 0 0 1 50 60 %_BS +%_1 0.0279 0 0 1 50 60 Bs +1 0 1 0 1 50 40 %_BS +%_1 0 1 0 1 50 40 Bs +0 0 1 0 1 50 20 %_BS +%_0 0 1 0 1 50 20 Bs +0 1 1 0 1 50 0 %_BS +%_0 1 1 0 1 50 0 Bs +BD +%AI5_EndGradient +%AI5_BeginGradient: (Yellow & Orange Radial) +(Yellow & Orange Radial) 1 2 Bd +[ +0 +< +0001010203040506060708090A0B0C0C0D0E0F10111213131415161718191A1B1C1D1D1E1F202122 +232425262728292A2B2B2C2D2E2F303132333435363738393A3B3C3D3E3E3F404142434445464748 +494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60606162636465666768696A6B6C6D6E6F +707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C +> +< +FFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9 +F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2 +F2F2F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEDEDEDEDEDEDECECECECECEBEBEBEBEB +EBEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E6E6E6E6E6E6 +> +0 +1 %_Br +[ +0 0 1 0 1 52 19 %_BS +%_0 0 1 0 1 52 19 Bs +0 0.55 0.9 0 1 50 100 %_BS +%_0 0.55 0.9 0 1 50 100 Bs +BD +%AI5_EndGradient +%AI5_End_NonPrinting-- +%AI5_BeginPalette +0 0 Pb +1 1 1 1 ([Registration]) 0 Xs +([Registration]) Pc +0 0 0 0 k +(C=0 M=0 Y=0 K=0) Pc +0 0 0 1 k +(C=0 M=0 Y=0 K=100) Pc +0 0.1 1 0 k +(C=0 M=10 Y=100 K=0) Pc +0 0.5 0 0 k +(C=0 M=50 Y=0 K=0) Pc +0 0.5 1 0 k +(C=0 M=50 Y=100 K=0) Pc +1 0.55 1 0 k +(C=100 M=55 Y=100 K=0) Pc +1 0.9 0.1 0 k +(C=100 M=90 Y=10 K=0) Pc +0.15 1 1 0 k +(C=15 M=100 Y=100 K=0) Pc +0.45 0.9 0 0 k +(C=45 M=90 Y=0 K=0) Pc +0.5 0.4 0.3 0 k +(C=50 M=40 Y=30 K=0) Pc +0.5 0.85 1 0 k +(C=50 M=85 Y=100 K=0) Pc +0.75 0.05 1 0 k +(C=75 M=5 Y=100 K=0) Pc +0.75 0.9 0 0 k +(C=75 M=90 Y=0 K=0) Pc +0.8 0.05 0 0 k +(C=80 M=5 Y=0 K=0) Pc +Bb +2 (Black, White) -7885 8587 0 0 1 0 0 1 0 0 Bg +0 BB +(Black, White) Pc +Bb +2 (Chrome) -7885 8587 0 0 1 0 0 1 0 0 Bg +0 BB +(Chrome) Pc +Bb +2 (Rainbow) -7885 8587 0 0 1 0 0 1 0 0 Bg +0 BB +(Rainbow) Pc +Bb +0 0 0 0 Bh +2 (Yellow & Orange Radial) -7885 8587 0 0 1 0 0 1 0 0 Bg +0 BB +(Yellow & Orange Radial) Pc +(Brick) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p +(Brick) Pc +(Confetti) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p +(Confetti) Pc +(Leaves - Fall ) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p +(Leaves - Fall ) Pc +(Stripes) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p +(Stripes) Pc +PB +%AI5_EndPalette +%AI5_Begin_NonPrinting +Np +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Dog Tracks) +(1 /New Pattern 41/ 1 0 0 0 1 / 0 1 1 0 1 1 0 0 0 0 -90 -90 0 1 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Fall Leaf) +(1 /New Pattern 34/ 1 0.0745 0.9 0.9019 0.18 / 0 0.602793 1 1 0.1 1 1 -) - +(1 1 1 -180 180 1 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Ladybug) +(1 /New Pattern 10/ 5 0.898039 0 0 / 0 1 1 0 0.803911 1.2 1 -1.55 1.55 ) - +(1 -180 180 1 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Push Pin) +(1 /New Pattern 36/ 1 0.025 0.1 0.475 0 / 0 1 1 0 0.401676 1 1 -1.06145) - +( 1.06 1 -180 180 1 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Strawberry) +(1 /New Pattern 37/ 1 0 0 0 1 / 0 0.803911 1 1 0.803911 1 1 -0.5 0.5 1 ) - +(-75 75.419 1 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Scatter Brush Tool) +(Twinkle Star ) +(1 /New Pattern 2/ 0 1 / 1 0.5 1 1 0.25 1 1 -0.5 0.5 1 0 0 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe PatternOnPath Brush Tool) +(Double Lines) +(1 / New Pattern 62/ New Pattern 63/ New Pattern 64/ / / 1 1 0.14 0.09 ) - +(0 / 1 0 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe PatternOnPath Brush Tool) +(Laurel) +(1 / New Pattern 65/ New Pattern 42/ New Pattern 67/ / New Pattern 69/ ) - +(1 0 0.55 1 0.3 / 1 0 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe PatternOnPath Brush Tool) +(Rope ) +(1 / New Pattern 1/ / / New Pattern 3/ New Pattern 6/ 5 0 0 0 / 1 0 1 ) - +(0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Arrow) +(1 / New Pattern 45/ / / / / 5 0.898039 0 0 / 2 0 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Marker) +(1 / New Pattern 8/ / / / / 0 0 / 1 1 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Paintbrush) +(1 / New Pattern 5/ / / / / 1 0.5 0.85 1 0.45 / 0 0 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Tapered Stroke) +(1 / New Pattern 83/ / / / / 1 0 0 0 1 / 1 1 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe ArtOnPath Brush Tool) +(Type) +(1 / New Pattern 50/ / / / / 1 0.952941 0.94902 0.196078 0.0745098 / 1) - +( 0 1 0 1 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(6 pt Flat ) +(1 4 8 10 10 90 90 2 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(10 pt Oval) +(1 1 19 15 15 130 130 2 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(12 pt Oval ) +(1 7 17 45 45 0 0 2 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(20 pt Oval) +(1 20 20 20 100 40 80 0 2 1 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(25 pt Round ) +(1 10 40 100 100 0 0 2 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Calligraphic Brush Tool) +(50 pt Flat) +(1 40 60 0 0 44 44 0 0 0 0) . +%AI8_EndPluginObject +%AI8_BeginPluginObject +(Adobe Brush Manager Order) +(Adobe Brush Manager Order) +( Adobe Calligraphic Brush Tool/ 6 pt Flat / Adobe Calligraphic Brush T) - +(ool/ 10 pt Oval/ Adobe Calligraphic Brush Tool/ 12 pt Oval / Adobe Cal) - +(ligraphic Brush Tool/ 20 pt Oval/ Adobe Calligraphic Brush Tool/ 25 pt) - +( Round / Adobe Calligraphic Brush Tool/ 50 pt Flat/ Adobe Scatter Brus) - +(h Tool/ Dog Tracks/ Adobe Scatter Brush Tool/ Fall Leaf/ Adobe Scatter) - +( Brush Tool/ Ladybug/ Adobe Scatter Brush Tool/ Push Pin/ Adobe Scatte) - +(r Brush Tool/ Strawberry/ Adobe Scatter Brush Tool/ Twinkle Star / Ado) - +(be ArtOnPath Brush Tool/ Marker/ Adobe ArtOnPath Brush Tool/ Tapered S) - +(troke/ Adobe ArtOnPath Brush Tool/ Arrow/ Adobe ArtOnPath Brush Tool/ ) - +(Paintbrush/ Adobe ArtOnPath Brush Tool/ Type/ Adobe PatternOnPath Brus) - +(h Tool/ Double Lines/ Adobe PatternOnPath Brush Tool/ Laurel/ Adobe Pa) - +(tternOnPath Brush Tool/ Rope /) . +%AI8_EndPluginObject +%AI5_End_NonPrinting-- +%AI5_Begin_NonPrinting +Np +%AI8_PluginGroupInfo +(Adobe Path Blends) (Adobe Blends Plugin) (Live Blends.aip) +%AI8_PluginGroupInfo +(Adobe PatternOnPath Brush Tool) (Adobe Pattern Brush Plugin) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe ArtOnPath Brush Tool) (Adobe Art Brush Plugin) (ArtOnPath.aip) +%AI8_PluginGroupInfo +(Adobe Calligraphic Brush Tool) (Adobe Calligraphic Brush Plugin) (Calligraphic Brush Tool.aip) +%AI8_PluginGroupInfo +(Adobe Scatter Brush Tool) (Adobe Scatter Brush Plugin) (Scatter Brush Tool.aip) +%AI5_End_NonPrinting-- +%%EndSetup +%AI5_BeginLayer +1 1 1 1 0 0 1 0 79 128 255 0 50 Lb +(Layer 1) Ln +0 A +u
0 O +0 g +800 Ar +0 J 0 j 1 w 4 M []0 d
%AI3_Note:
0 D +0 XR +%AI5_File: +%AI5_BeginRaster +() 1 XG +[ 0.24 0 0 0.24 289.4404 411.5996 ] 138 130 0 Xh +[ 0.24 0 0 0.24 289.4404 411.5996 ] 0 0 138 130 138 130 1 1 0 0 0 0 +%%BeginBinary +XI +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFA3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD07FFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFF03FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFC +%3FFFFFFF87FFFFFFFFFFFFFFFFFFFFFFFFFE1FFFFFFE01FFFFFFFFFFFFFF +%FFFFFFFFFFFF1FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFF0FFFFFF83FFF +%FFFFFFFFFFFFFFFFFFFFFFFF8FFFFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFF +%8FFFFFF07FFFFFFFFFFFFFFFFFFFFFFFFFFF87FFFFE0FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFC7FFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFC7FFFFC1FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFE3FFFFC1FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%E3FFFF83FFFFFFFFFFFFFFFFFFFFFFFFFFFFE1FFFF83FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFE0FFFF83FFFFFFFFFFFFFFFFFFFFFFFFFFFFF07FFF07FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFF07FFF07FFFFFFFFFFFFFFFFFFFFFFFFFFFF +%F83FFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81FFC0FFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFC0FFC1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE07F03FFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF01F07FFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF80E07FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE001FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFF0017FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80003FFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00000FFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFE00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00000FFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFF00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FF00001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE000007FFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFF010083FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE125021FFFF +%FFFFFFFFFFFFFFFFFFFFFFFFF005AB047FFFFFFFFFFFFFFFFFFFFFFFFFFF +%E00054813FFFFFFFFFFFFFFFFFFFFFFFFFFFE214A9041FFFFFFFFFFFFFFF +%FFFFFFFFFFFF82016A820FFFFFFFFFFFFFFFFFFFFFFFFFFF0514BE090FFF +%FFFFFFFFFFFFFFFFFFFFFFFE400FDE8423FFFFFFFFFFFFFFFFFFFFFFFFF8 +%004FAC4049FFFFFFFFFFFFFFFFFFFFFFFFE0A12FCD8034FFFFFFFFFFFFFF +%FFFFFFFFFFE2502FBC109A7FFFFFFFFFFFFFFFFFFFFFFF89529F9B88ED3F +%FFFFFFFFFFFFFFFFFFFFFF93A8157451B63FFFFFFFFFFFFFFFFFFFFFFF67 +%C01AA9800B1FFFFFFFFFFFFFFFFFFFFFFC9E1008DA909587FFFFFFFFFFFF +%FFFFFFFFFB780C075F0406C3FFFFFFFFFFFFFFFFFFFFF0F616078B010751 +%FFFFFFFFFFFFFFFFFFFFE3CD8A8215482769FFFFFFFFFFFFFFFFFFFFC799 +%450920100BB4FFFFFFFFFFFFFFFFFFFF8F730AC45A004BBA3FFFFFFFFFFF +%FFFFFFFF1EE6C522EC1099DD5FFFFFFFFFFFFFFFFFFE39D6C290CA008DEF +%9FFFFFFFFFFFFFFFFFFCF3DDA5AA04012CEEA7FFFFFFFFFFFFFFFFFCE7AD +%810C2802BEF753FFFFFFFFFFFFFFFFF1CFABB8C008020E77ABFFFFFFFFFF +%FFFFFFF3AF53BD941405473BD5FFFFFFFFFFFFFFFFE75F670042BD08A759 +%EAFFFFFFFFFFFFFFFFC69EAAB2254E0355BDF57FFFFFFFFFFFFFFF8EBEA5 +%1852AD104A9CFABFFFFFFFFFFFFFFF997DAF5E014A064ADEFD5FFFFFFFFF +%FFFFFF3A7D5B292AD5498DDEFEAFFFFFFFFFFFFFFE36FB6F6A938A518A4E +%7E47FFFFFFFFFFFFFE64FB6FB4C000840DEF3EABFFFFFFFFFFFFFC9CF6EF +%7228222295B75F51FFFFFFFFFFFFF949F6EEB961FC092DF7BF69FFFFFFFF +%FFFFF899EEFFBC00D4166DBB2FF4FFFFFFFFFFFFF355EFDEBC7010D86DDA +%A7B87FFFFFFFFFFFF423EDDFF813FDD86ED937BC7FFFFFFFFFFFE6D6CDDE +%A048FA236EDD53BD3FFFFFFFFFFFCD605DDFD024A104569A9BDEBFFFFFFF +%FFFF9BCDA99520121519775C5BDF1FFFFFFFFFFF97D4555194286A640AAA +%EDDF8FFFFFFFFFFF37D5B286A0151450772AEFEECFFFFFFFFFFF2FDDB2AB +%502C6A54652AE8EF57FFFFFFFFFE6FAFF655723654A8776F6EB6A7FFFFFF +%FFFE5FAB6BD7F15D6CB46F6F646F6BFFFFFFFFFCDF6B77BFF42ABCD0676F +%F752B5FFFFFFFFFDBF6A6FD3F12BB1406F6F74D97AFFFFFFFFF9BF6F77BF +%F412C9A07777B775FAFFFFFFFFF97FF66FD3E90F55104F6FB7BDFA7FFFFF +%FFFB7ED6EB9BD093D9C056F7BBFDFD7FFFFFFFF27EE6EFDB9A45AA002B7F +%B1DEFDBFFFFFFFF6FDEEEFDF691295826AB76BDE7E9FFFFFFFF6FDEEFBDA +%98C04818ED55B2FFBEDFFFFFFFECFDEEEFD57A2F40E16BB552EF5FAFFFFF +%FFE5F9EF6BF2B911FA046EAAAB6F6FCFFFFFFFE9FBDEEB95FACA48A95FB5 +%5B6FEFDFFFFFFFE5FBCF53ABF1150554EFB55BF7B7A7FFFFFFD3FBDF6ACF +%E842FAA05FAFDAB7BBF7FFFFFFC3F7DF6DEFCCA90558BFB7F6B7DDD3FFFF +%FFD3F3DF76F79C04BA809FAF97DBDCABFFFFFFC7F7BFB5F73EF04021CBFF +%EEFBDAE9FFFFFFD6F79FB7FE7E0F17E9E62FAF5BDE95FFFFFFC6E7FB9FF9 +%FE25FE83F1D78F7DD579FFFFFFCDD73D43E3FF120153FCBF376B6E94FFFF +%FFC2AEA2A81FFF0552ABFF00AABDAB5AFFFFFFC48A3D21FFFFA9AD47FFE3 +%556AE5B4FFFFFFD16DA253FFFF82B80FFFF856BDAACAFFFFFFC48A5A87FF +%FFC801EFFFFF155576E4FFFFFFD329550FFFFFD75C1FFFFFC3AEADAAFFFF +%FF84926A3FFFFFC0028FFFFFF0755251FFFFFFD35C90FFFFFFE5441FFFFF +%FF0AADA1FFFFFFA01243FFFFFFE0FA1FFFFFFFC00003FFFFFF82540FFFFF +%FFF3043FFFFFFFFFD01FFFFFFFC010FFFFFFFFF1F83FFFFFFFFFFFFFFFFF +%FFC007FFFFFFFFF9707FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9407FFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFC907FFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFE41FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE01FFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +%%EndBinary +XH +%AI5_EndRaster +F
/BBAccumRotation (0.000000) XT +U
/BBAccumRotation (0.000000) XT +LB +%AI5_EndLayer-- +%%PageTrailer +gsave annotatepage grestore showpage +%%Trailer +Adobe_Illustrator_AI5 /terminate get exec +Adobe_shading_AI8 /terminate get exec +Adobe_ColorImage_AI6 /terminate get exec +Adobe_cshow /terminate get exec +Adobe_level2_AI5 /terminate get exec +%%EOF diff --git a/Master/texmf-dist/doc/latex/acmart/map.png b/Master/texmf-dist/doc/latex/acmart/map.png Binary files differnew file mode 100644 index 00000000000..2d1e33178bd --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/map.png diff --git a/Master/texmf-dist/doc/latex/acmart/mouse-eps-converted-to.pdf b/Master/texmf-dist/doc/latex/acmart/mouse-eps-converted-to.pdf new file mode 100644 index 00000000000..780fe1546e2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/mouse-eps-converted-to.pdf @@ -0,0 +1,86 @@ +%PDF-1.4 +%Çì¢ +5 0 obj +<</Length 6 0 R/Filter /FlateDecode>> +stream +xœUSAŽ1¼÷+ø@ˆcà›/¬”½dIþ/¥°{zµ4ÚTôo,4ú¹Ï÷Ïëû ¿×~K>.™¬N^ýûÙ‘›(‰/ ªàUn¤…‹Ä¥q¶¢÷+GÃ,œ=•<xâ?MUÖ‰2¢
œY/k±{‘»óô E¿Ð@^r¤“Þ—m|ª³®EÀòRÄUlå$Ã62dÝ
Ä•gRøäl€ b0õ„®¹©—Þ +d`†JK¸ ÐJY²ãdë€y4˜92l(I2!bbn%³|g˜==JÏ›±iþº¾rFqÓ´ÔT]rœ¦'±K@Wàf¤¦qè¹ãSºÆ«§AaEW˜„b69áHjëÍ]zM¹¼Çdtµ0õž9fnZá™»ºÖnÃs +t4'ƒ<³UH½ç(~敹ç©1÷‰qápl|=äq [<|Dp¦&}3?fôµ´ï×ÏNâémÎmƒŠœ}îÂBý±ת؃ ßjñȵã6:îÎϽ/ä½ò! +¶Ñ]^Ó°Ïeù\ãó^¦;ûþ\žêÏýÝý•þb÷?û6èãz»þ®à¹ëendstream +endobj +6 0 obj +453 +endobj +4 0 obj +<</Type/Page/MediaBox [0 0 151 134] +/Parent 3 0 R +/Resources<</ProcSet[/PDF] +/ExtGState 8 0 R +>> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<</Type /Catalog /Pages 3 0 R +/Metadata 9 0 R +>> +endobj +7 0 obj +<</Type/ExtGState +/OPM 1>>endobj +8 0 obj +<</R7 +7 0 R>> +endobj +9 0 obj +<</Type/Metadata +/Subtype/XML/Length 1495>>stream +<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?> +<?adobe-xap-filters esc="CRLF"?> +<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'> +<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> +<rdf:Description rdf:about='3e489f47-44be-11f1-0000-6130e7753adf' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.02'/> +<rdf:Description rdf:about='3e489f47-44be-11f1-0000-6130e7753adf' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2016-04-27T13:58:49-04:00</xmp:ModifyDate> +<xmp:CreateDate>2016-04-27T13:58:49-04:00</xmp:CreateDate> +<xmp:CreatorTool>Adobe Illustrator(TM) for Windows, version 4.0</xmp:CreatorTool></rdf:Description> +<rdf:Description rdf:about='3e489f47-44be-11f1-0000-6130e7753adf' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='3e489f47-44be-11f1-0000-6130e7753adf'/> +<rdf:Description rdf:about='3e489f47-44be-11f1-0000-6130e7753adf' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>(MOUSE.AI)</rdf:li></rdf:Alt></dc:title><dc:creator><rdf:Seq><rdf:li>(Siepo Drop ) (Studio Bitmuis )</rdf:li></rdf:Seq></dc:creator></rdf:Description> +</rdf:RDF> +</x:xmpmeta> + + +<?xpacket end='w'?> +endstream +endobj +2 0 obj +<</Producer(GPL Ghostscript 9.02) +/CreationDate(D:20160427135849-04'00') +/ModDate(D:20160427135849-04'00') +/Creator(Adobe Illustrator\(TM\) for Windows, version 4.0) +/Author(\(Siepo Drop \) \(Studio Bitmuis \)) +/Title(\(MOUSE.AI\))>>endobj +xref +0 10 +0000000000 65535 f +0000000747 00000 n +0000002452 00000 n +0000000688 00000 n +0000000557 00000 n +0000000015 00000 n +0000000538 00000 n +0000000811 00000 n +0000000852 00000 n +0000000881 00000 n +trailer +<< /Size 10 /Root 1 0 R /Info 2 0 R +/ID [<F54CE37642C4529AE267CD93C7D615DF><F54CE37642C4529AE267CD93C7D615DF>] +>> +startxref +2754 +%%EOF diff --git a/Master/texmf-dist/doc/latex/acmart/mouse.eps b/Master/texmf-dist/doc/latex/acmart/mouse.eps new file mode 100644 index 00000000000..fc54a84b51b --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/mouse.eps @@ -0,0 +1,145 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: Adobe Illustrator(TM) for Windows, version 4.0 +%%For: (Siepo Drop ) (Studio Bitmuis ) +%%Title: (MOUSE.AI) +%%CreationDate: (10/25/96) (6:00 PM) +%%DocumentProcessColors: Black +%%DocumentProcSets: Adobe_Illustrator_1.1 0 0 +%%DocumentSuppliedProcSets: Adobe_Illustrator_1.1 0 0 +%%BoundingBox:233 344 384 478 +%%ColorUsage: Black&White +%%TemplateBox:306 396 306 396 +%%TileBox: 0 0 576 806 +%%DocumentPreview: Header +%%Template: +%%PageOrigin:0 0 +%%AI3_PaperRect:-9.6002 808.5785 585.6134 -2.6401 +%%AI3_Margin:9.6002 -2.6401 -9.6002 2.6401 +%%EndComments +% $Header: /home/boris/cvs/tex/acm/acmart/mouse.eps,v 1.1 2016/04/11 04:57:36 boris Exp $ +%%BeginProcSet:Adobe_Illustrator_1.1 0 0 +% Copyright (C) 1987-1990 Adobe Systems Incorporated. +% All Rights Reserved. +% Adobe Illustrator is a trademark of Adobe Systems Incorporated. +/Adobe_Illustrator_1.1 dup 100 dict def load begin +/Version 0 def +/Revision 0 def +% definition operators +/bdef {bind def} bind def +/ldef {load def} bdef +/xdef {exch def} bdef +% graphic state operators +/_K {3 index add neg dup 0 lt {pop 0} if 3 1 roll} bdef +/_k /setcmybcolor where +{/setcmybcolor get} {{1 sub 4 1 roll _K _K _K setrgbcolor pop} bind} ifelse def +/g {/_b xdef /p {_b setgray} def} bdef +/G {/_B xdef /P {_B setgray} def} bdef +/k {/_b xdef /_y xdef /_m xdef /_c xdef /p {_c _m _y _b _k} def} bdef +/K {/_B xdef /_Y xdef /_M xdef /_C xdef /P {_C _M _Y _B _k} def} bdef +/d /setdash ldef +/_i currentflat def +/i {dup 0 eq {pop _i} if setflat} bdef +/j /setlinejoin ldef +/J /setlinecap ldef +/M /setmiterlimit ldef +/w /setlinewidth ldef +% path construction operators +/_R {.25 sub round .25 add} bdef +/_r {transform _R exch _R exch itransform} bdef +/c {_r curveto} bdef +/C /c ldef +/v {currentpoint 6 2 roll _r curveto} bdef +/V /v ldef +/y {_r 2 copy curveto} bdef +/Y /y ldef +/l {_r lineto} bdef +/L /l ldef +/m {_r moveto} bdef +% error operators +/_e [] def +/_E {_e length 0 ne {gsave 0 g 0 G 0 i 0 J 0 j 1 w 10 M [] 0 d +/Courier 20 0 0 1 z [0.966 0.259 -0.259 0.966 +_e 0 get _e 2 get add 2 div _e 1 get _e 3 get add 2 div] e _f t T grestore} if} bdef +/_fill {{fill} stopped +{/_e [pathbbox] def /_f (ERROR: can't fill, increase flatness) def n _E} if} bdef +/_stroke {{stroke} stopped +{/_e [pathbbox] def /_f (ERROR: can't stroke, increase flatness) def n _E} if} bdef +% path painting operators +/n /newpath ldef +/N /n ldef +/F {p _fill} bdef +/f {closepath F} bdef +/S {P _stroke} bdef +/s {closepath S} bdef +/B {gsave F grestore S} bdef +/b {closepath B} bdef +% text block construction and painting operators +/_s /ashow ldef +/_S {(?) exch {2 copy 0 exch put pop dup false charpath currentpoint _g setmatrix +_stroke _G setmatrix moveto 3 copy pop rmoveto} forall pop pop pop n} bdef +/_A {_a moveto _t exch 0 exch} bdef +/_L {0 _l neg translate _G currentmatrix pop} bdef +/_w {dup stringwidth exch 3 -1 roll length 1 sub _t mul add exch} bdef +/_z [{0 0} bind {dup _w exch neg 2 div exch neg 2 div} bind {dup _w exch neg exch neg} bind] def +/z {_z exch get /_a xdef /_t xdef /_l xdef exch findfont exch scalefont setfont} bdef +/_g matrix def +/_G matrix def +/_D {_g currentmatrix pop gsave concat _G currentmatrix pop} bdef +/e {_D p /t {_A _s _L} def} bdef +/r {_D P /t {_A _S _L} def} bdef +/a {_D /t {dup p _A _s P _A _S _L} def} bdef +/o {_D /t {pop _L} def} bdef +/T {grestore} bdef +% group construction operators +/u {} bdef +/U {} bdef +% font construction operators +/Z {findfont begin currentdict dup length dict begin +{1 index /FID ne {def} {pop pop} ifelse} forall /FontName exch def dup length 0 ne +{/Encoding Encoding 256 array copy def 0 exch {dup type /nametype eq +{Encoding 2 index 2 index put pop 1 add} {exch pop} ifelse} forall} if pop +currentdict dup end end /FontName get exch definefont pop} bdef +end +%%EndProcSet +%AI3-Grid.0 18 18 3 0.833333 0.833333 0.833333 3 +%%EndProlog +%%BeginSetup +% $Header: /home/boris/cvs/tex/acm/acmart/mouse.eps,v 1.1 2016/04/11 04:57:36 boris Exp $ +Adobe_Illustrator_1.1 begin +n +%%EndSetup +u +0 0 0 1 k +0 i 0 J 0 j 0.5226 w 4 M []0 d +%%Note: +234.4156 349.9487 m +234.4533 357.3618 242.7696 373.0161 248.0755 380.7679 C +241.0762 381.5582 238.7437 386.2243 244.1995 392.8849 c +249.6559 399.5455 254.4726 401.8786 258.9506 392.8849 C +289.356 426.5265 305.7628 433.9396 336.9584 415.576 C +348.2475 419.4896 356.4509 419.0757 367.74 436.6867 c +376.4327 450.196 372.2181 450.8357 369.3205 462.8774 c +366.5735 474.2041 374.4006 476.9512 382.5664 477.7414 C +382.1901 474.5805 L +374.4006 474.9944 370.7128 471.57 373.9867 463.2537 c +378.2765 452.3033 380.1957 445.304 373.6104 434.7299 c +365.7833 422.199 358.784 415.9523 341.2483 408.1629 C +338.9904 396.648 336.6197 386.2243 321.3418 376.892 c +315.3962 373.2419 301.9998 372.414 294.4366 368.2747 c +284.5393 362.8559 260.4559 355.5556 253.419 353.7493 c +246.4574 351.9054 240.8881 343.6268 234.4156 349.9487 C +f +0 0 0 0 k +251.5751 365.1513 m +253.4942 365.1513 255.0747 363.6085 255.0747 361.6893 c +255.0747 359.6949 253.4942 358.1521 251.5751 358.1521 c +249.6936 358.1521 248.1131 359.6949 248.1131 361.6893 c +248.1131 363.6085 249.6936 365.1513 251.5751 365.1513 c +f +U +%%PageTrailer +%%Trailer +_E end +%%EOF + + diff --git a/Master/texmf-dist/doc/latex/acmart/rosette-eps-converted-to.pdf b/Master/texmf-dist/doc/latex/acmart/rosette-eps-converted-to.pdf new file mode 100644 index 00000000000..9e49eb1fb4a --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/rosette-eps-converted-to.pdf @@ -0,0 +1,82 @@ +%PDF-1.4 +%Çì¢ +5 0 obj +<</Length 6 0 R/Filter /FlateDecode>> +stream +xœÍV;’Û0íy +ž€@‚Ÿ¤NrÏì¦ð™¹~ m
åíä-´”âéáñ<ô°ýéóòá¾ý,þý¯“7+4ÿî°bäõñá"”»õÕEb‰.ò"S¨ècäz‚„!'YCÕ!‡Œþ" YäM¬-pñ*†˜=¥vÛ€”›¬ÓVáâÞ±üóÏÿþàüv¿„’ÂüìâÄ +{â³ëR!@šôyqöËafßz&¼} ˜!Âÿ‚˜Çø«3†ãÖëˆöH[&ˆF{OGGÏo¥TKZNÇ ¤ÔÄ„RïK–úmnÇ
B)³\Â
Ç€ƒ”¤|xcÏ×ïAÁ÷‰TN‡Ð)Iå%ñ¸†:…W™dß8ÖEì ÞUàVBfâk•ðȘóPtb86È´ fuÌàvÈUÄ…a»±høÎìJh¦VɈCÄÌ9`kVrÅË@tZ22Å´ e/V§û©ŽÜбRË
ˆMÈöE&dûd•ÄŠ•ó1()
¬Ñ.þ:Äh2¶µÉØìyqöËQ¦n=ŽÅr&ŠNŒðÎqi¸ñr®•áÁ¸Ù™uDíN;&~§==5¿4ß*™"žxˉ:)r XÍ,»xd·ZßÏNê8¹v+@ã´ÛéW7˜î>Ë@tZšäQ=žXfŸÌ¹]½V8º-LÆ–ñÄ[^b#fuzvÛXi—¼^ú6˜‚û”0}Άˆi„}È0?ŒóÏ&ÛÓ ÜD"\üpÿŸCŠîendstream +endobj +6 0 obj +604 +endobj +4 0 obj +<</Type/Page/MediaBox [0 0 363.23 363.23] +/Parent 3 0 R +/Resources<</ProcSet[/PDF] +/ExtGState 8 0 R +>> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<</Type /Catalog /Pages 3 0 R +/Metadata 9 0 R +>> +endobj +7 0 obj +<</Type/ExtGState +/OPM 1>>endobj +8 0 obj +<</R7 +7 0 R>> +endobj +9 0 obj +<</Type/Metadata +/Subtype/XML/Length 1319>>stream +<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?> +<?adobe-xap-filters esc="CRLF"?> +<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'> +<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> +<rdf:Description rdf:about='499bcac7-44be-11f1-0000-e57098484f26' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.02'/> +<rdf:Description rdf:about='499bcac7-44be-11f1-0000-e57098484f26' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2016-04-27T13:59:08-04:00</xmp:ModifyDate> +<xmp:CreateDate>2016-04-27T13:59:08-04:00</xmp:CreateDate> +<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description> +<rdf:Description rdf:about='499bcac7-44be-11f1-0000-e57098484f26' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='499bcac7-44be-11f1-0000-e57098484f26'/> +<rdf:Description rdf:about='499bcac7-44be-11f1-0000-e57098484f26' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description> +</rdf:RDF> +</x:xmpmeta> + + +<?xpacket end='w'?> +endstream +endobj +2 0 obj +<</Producer(GPL Ghostscript 9.02) +/CreationDate(D:20160427135908-04'00') +/ModDate(D:20160427135908-04'00')>>endobj +xref +0 10 +0000000000 65535 f +0000000904 00000 n +0000002433 00000 n +0000000845 00000 n +0000000708 00000 n +0000000015 00000 n +0000000689 00000 n +0000000968 00000 n +0000001009 00000 n +0000001038 00000 n +trailer +<< /Size 10 /Root 1 0 R /Info 2 0 R +/ID [<27FFEE371E447DBF31C0814450606A79><27FFEE371E447DBF31C0814450606A79>] +>> +startxref +2556 +%%EOF diff --git a/Master/texmf-dist/doc/latex/acmart/rosette.eps b/Master/texmf-dist/doc/latex/acmart/rosette.eps new file mode 100644 index 00000000000..9d56a1ecd55 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/rosette.eps @@ -0,0 +1,76 @@ +%!
+%%BoundingBox: 124.38 124.38 487.61 487.61
+% Cookbook Example Program from First Printing, Revised 7 Jan 1985
+% Program: Repeated Shapes Number: 6
+%-----------------------------------------------------------------------------
+%
+ % This program prints a rosette
+ % design by defining a section of
+ % that design and printing that
+ % section repeatedly. This program
+ % illustrates the ``for'' and
+ % "arc" operators, and it shows
+ % how coordinate transformations
+ % can be nested so as to use the
+ % most convenient coordinate
+ % system for each part of a
+ % design.
+/inch {72 mul} def
+
+/wedge % Define an ``ice cream cone''
+ { newpath % shape by means of the ``arc''
+ 0 0 moveto % operator. This shape will have a
+ 1 0 translate % 30 degree angle topped off with
+ 15 rotate % a semicircle. Set the path's
+ 0 15 sin translate % first point at the current
+ 0 0 15 sin -90 90 arc % origin. Next, move the origin to
+ closepath % the center of the semicircle by
+ } def % translating to the right 1 unit,
+ % rotating counter-clockwise by 15
+ % degrees, and translating ``up''
+ % in the rotated system by the
+ % radius of the semicircle. The
+ % ``arc'' operator includes a
+ % straight line to the initial
+ % point of the arc and a curved
+ % section to the end of the arc.
+ % Note that the semicircle goes
+ % from -90 degrees to 90 degrees
+ % in the rotated coordinate
+ % system.
+
+gsave
+ 4.25 inch 4.25 inch translate % Move into position for the
+ % rosette.
+ 1.75 inch 1.75 inch scale % Make the edges of the rosette 1
+ % 3/4 inches long.
+ 0.02 setlinewidth % Use a 7/200 inch thick line.
+ 2 1 13 % Set up the ``for'' operator to
+ % iterate 12 times, pushing 2 onto
+ % the stack the first time, 3 the
+ % next time, ... , and 13 the last
+ % time.
+ { % The last argument for ``for'' is
+ % the sequence of operations to be
+ % repeated. This sequence must be
+ % enclosed by braces.
+ 13 div setgray % Divide the loop index by 13 to
+ % set a gray value.
+ gsave % Enclose the ``wedge'' operation
+ wedge % in a ``gsave''-``grestore''
+ % pair, as it will mess up the
+ % coordinate system.
+ gsave % Save the wedge path for use
+ % after the ``fill''.
+ fill
+ grestore
+ 0 setgray stroke % Draw a black border around the
+ % wedge.
+ grestore % Get out of the coordinate system
+ % left by wedge.
+ 30 rotate % Set up for the next section.
+ } for % Close the last argument and
+ % execute the ``for'' operator.
+grestore
+showpage
+
diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf b/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf Binary files differnew file mode 100644 index 00000000000..7a03f392922 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.tex b/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.tex new file mode 100644 index 00000000000..b135fb2af10 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-acmlarge.tex @@ -0,0 +1,152 @@ +\documentclass[acmlarge,natbib]{acmart} + +\usepackage{booktabs} % For formal tables + + +\usepackage[ruled]{algorithm2e} % For algorithms +\renewcommand{\algorithmcfname}{ALGORITHM} +\SetAlFnt{\small} +\SetAlCapFnt{\small} +\SetAlCapNameFnt{\small} +\SetAlCapHSkip{0pt} +\IncMargin{-\parindent} + +% Metadata Information +\acmJournal{JOCCH} +\acmVolume{9} +\acmNumber{4} +\acmArticle{39} +\acmYear{2010} +\acmMonth{3} +\acmArticleSeq{11} + +%\acmBadgeR[http://ctuning.org/ae/ppopp2016.html]{ae-logo} +%\acmBadgeL[http://ctuning.org/ae/ppopp2016.html]{ae-logo} + + +% Copyright +%\setcopyright{acmcopyright} +%\setcopyright{acmlicensed} +%\setcopyright{rightsretained} +%\setcopyright{usgov} +\setcopyright{usgovmixed} +%\setcopyright{cagov} +%\setcopyright{cagovmixed} + +% DOI +\acmDOI{0000001.0000001} + +% Paper history +\received{February 2007} +\received{March 2009} +\received[accepted]{June 2009} + + +% Document starts +\begin{document} +% Title portion +\title{A Multifrequency MAC Specially Designed for Wireless Sensor + Network Applications} +\author{Gang Zhou} +\email{zhou@uva.edu} +\author{Yafeng Wu} +\email{ywu@uva.edu} +\affiliation{University of Virginia} +\author{Ting Yan} +\affiliation{Eaton Innovation Center} +\author{Tian He} +\affiliation{University of Minnesota} +\author{Chengdu Huang} +\affiliation{Google} +\author{John A. Stankovic} +\affiliation{University of Virginia} +\author{Tarek F. Abdelzaher} +\affiliation{University of Illinois at Urbana-Champaign} +\affiliation{University of Virginia} + +\begin{abstract} +Multifrequency media access control has been well understood in +general wireless ad hoc networks, while in wireless sensor networks, +researchers still focus on single frequency solutions. In wireless +sensor networks, each device is typically equipped with a single +radio transceiver and applications adopt much smaller packet sizes +compared to those in general wireless ad hoc networks. Hence, the +multifrequency MAC protocols proposed for general wireless ad hoc +networks are not suitable for wireless sensor network applications, +which we further demonstrate through our simulation experiments. In +this article, we propose MMSN, which takes advantage of +multifrequency availability while, at the same time, takes into +consideration the restrictions of wireless sensor networks. Through +extensive experiments, MMSN exhibits the prominent ability to utilize +parallel transmissions among neighboring nodes. When multiple physical +frequencies are available, it also achieves increased energy +efficiency, demonstrating the ability to work against radio +interference and the tolerance to a wide range of measured time +synchronization errors. +\end{abstract} + + +% +% The code below should be generated by the tool at +% http://dl.acm.org/ccs.cfm +% Please copy and paste the code instead of the example below. +% +\begin{CCSXML} +<ccs2012> + <concept> + <concept_id>10010520.10010553.10010562</concept_id> + <concept_desc>Computer systems organization~Embedded systems</concept_desc> + <concept_significance>500</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010575.10010755</concept_id> + <concept_desc>Computer systems organization~Redundancy</concept_desc> + <concept_significance>300</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010553.10010554</concept_id> + <concept_desc>Computer systems organization~Robotics</concept_desc> + <concept_significance>100</concept_significance> + </concept> + <concept> + <concept_id>10003033.10003083.10003095</concept_id> + <concept_desc>Networks~Network reliability</concept_desc> + <concept_significance>100</concept_significance> + </concept> +</ccs2012> +\end{CCSXML} + +\ccsdesc[500]{Computer systems organization~Embedded systems} +\ccsdesc[300]{Computer systems organization~Redundancy} +\ccsdesc{Computer systems organization~Robotics} +\ccsdesc[100]{Networks~Network reliability} + +% +% End generated code +% + +% We no longer use \terms command +\terms{Design, Algorithms, Performance} + +\keywords{Wireless sensor networks, media access control, +multi-channel, radio interference, time synchronization} + + +\thanks{This work is supported by the National Science Foundation, + under grant CNS-0435060, grant CCR-0325197 and grant EN-CS-0329609. + + Author's addresses: G. Zhou, Computer Science Department, College of + William and Mary; Y. Wu {and} J. A. Stankovic, Computer Science + Department, University of Virginia; T. Yan, Eaton Innovation Center; + T. He, Computer Science Department, University of Minnesota; C. + Huang, Google; T. F. Abdelzaher, (Current address) NASA Ames + Research Center, Moffett Field, California 94035.} + + +\maketitle + +\input{samplebody-journals} + + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf b/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf Binary files differnew file mode 100644 index 00000000000..986a7ec34e1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.tex b/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.tex new file mode 100644 index 00000000000..35d9df11858 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-acmsmall.tex @@ -0,0 +1,147 @@ +\documentclass[format=acmsmall,natbib=true, review=false, screen=true]{acmart} + +\usepackage{booktabs} % For formal tables + +\usepackage[ruled]{algorithm2e} % For algorithms +\renewcommand{\algorithmcfname}{ALGORITHM} +\SetAlFnt{\small} +\SetAlCapFnt{\small} +\SetAlCapNameFnt{\small} +\SetAlCapHSkip{0pt} +\IncMargin{-\parindent} + + +% Metadata Information +\acmJournal{TWEB} +\acmVolume{9} +\acmNumber{4} +\acmArticle{39} +\acmYear{2010} +\acmMonth{3} +\copyrightyear{2009} +%\acmArticleSeq{9} + +% Copyright +%\setcopyright{acmcopyright} +\setcopyright{acmlicensed} +%\setcopyright{rightsretained} +%\setcopyright{usgov} +%\setcopyright{usgovmixed} +%\setcopyright{cagov} +%\setcopyright{cagovmixed} + +% DOI +\acmDOI{0000001.0000001} + +% Paper history +\received{February 2007} +\received[revised]{March 2009} +\received[accepted]{June 2009} + + +% Document starts +\begin{document} +% Title portion. Note the short title for running heads +\title[A Multifrequency MAC for Wireless Sensor]{A Multifrequency MAC + Specially Designed for Wireless Sensor Network Applications} +\author{Gang Zhou} +\affiliation{College of William and Mary} +\author{Yafeng Wu} +\affiliation{University of Virginia} +\author{Ting Yan} +\affiliation{Eaton Innovation Center} +\author{Tian He} +\affiliation{University of Minnesota} +\author{Chengdu Huang} +\author{John A. Stankovic} +\author{Tarek F. Abdelzaher} +\affiliation{University of Virginia} + +\begin{abstract} +Multifrequency media access control has been well understood in +general wireless ad hoc networks, while in wireless sensor networks, +researchers still focus on single frequency solutions. In wireless +sensor networks, each device is typically equipped with a single +radio transceiver and applications adopt much smaller packet sizes +compared to those in general wireless ad hoc networks. Hence, the +multifrequency MAC protocols proposed for general wireless ad hoc +networks are not suitable for wireless sensor network applications, +which we further demonstrate through our simulation experiments. In +this article, we propose MMSN, which takes advantage of +multifrequency availability while, at the same time, takes into +consideration the restrictions of wireless sensor networks. Through +extensive experiments, MMSN exhibits the prominent ability to utilize +parallel transmissions among neighboring nodes. When multiple physical +frequencies are available, it also achieves increased energy +efficiency, demonstrating the ability to work against radio +interference and the tolerance to a wide range of measured time +synchronization errors. +\end{abstract} + + +% +% The code below should be generated by the tool at +% http://dl.acm.org/ccs.cfm +% Please copy and paste the code instead of the example below. +% +\begin{CCSXML} +<ccs2012> + <concept> + <concept_id>10010520.10010553.10010562</concept_id> + <concept_desc>Computer systems organization~Embedded systems</concept_desc> + <concept_significance>500</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010575.10010755</concept_id> + <concept_desc>Computer systems organization~Redundancy</concept_desc> + <concept_significance>300</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010553.10010554</concept_id> + <concept_desc>Computer systems organization~Robotics</concept_desc> + <concept_significance>100</concept_significance> + </concept> + <concept> + <concept_id>10003033.10003083.10003095</concept_id> + <concept_desc>Networks~Network reliability</concept_desc> + <concept_significance>100</concept_significance> + </concept> +</ccs2012> +\end{CCSXML} + +\ccsdesc[500]{Computer systems organization~Embedded systems} +\ccsdesc[300]{Computer systems organization~Redundancy} +\ccsdesc{Computer systems organization~Robotics} +\ccsdesc[100]{Networks~Network reliability} + +% +% End generated code +% + +% We no longer use \terms command +%\terms{Design, Algorithms, Performance} + +\keywords{Wireless sensor networks, media access control, +multi-channel, radio interference, time synchronization} + + +\thanks{This work is supported by the National Science Foundation, + under grant CNS-0435060, grant CCR-0325197 and grant EN-CS-0329609. + + Author's addresses: G. Zhou, Computer Science Department, College of + William and Mary; Y. Wu {and} J. A. Stankovic, Computer Science + Department, University of Virginia; T. Yan, Eaton Innovation Center; + T. He, Computer Science Department, University of Minnesota; C. + Huang, Google; T. F. Abdelzaher, (Current address) NASA Ames + Research Center, Moffett Field, California 94035.} + + +\maketitle + +% The default list of authors is too long for headers} +\renewcommand{\shortauthors}{G. Zhou et. al.} + +\input{samplebody-journals} + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf b/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf Binary files differnew file mode 100644 index 00000000000..afbcc2bc430 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-acmtog.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sample-acmtog.tex b/Master/texmf-dist/doc/latex/acmart/sample-acmtog.tex new file mode 100644 index 00000000000..b8f60fa2574 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-acmtog.tex @@ -0,0 +1,147 @@ +\documentclass[acmtog, natbib, authorversion]{acmart} + +\usepackage{booktabs} % For formal tables + + +\usepackage[ruled]{algorithm2e} % For algorithms +\renewcommand{\algorithmcfname}{ALGORITHM} +\SetAlFnt{\small} +\SetAlCapFnt{\small} +\SetAlCapNameFnt{\small} +\SetAlCapHSkip{0pt} +\IncMargin{-\parindent} + +% Metadata Information +\acmJournal{TOG} +\acmVolume{9} +\acmNumber{4} +\acmArticle{39} +\acmYear{2010} +\acmMonth{3} + +% Copyright +%\setcopyright{acmcopyright} +%\setcopyright{acmlicensed} +%\setcopyright{rightsretained} +%\setcopyright{usgov} +\setcopyright{usgovmixed} +%\setcopyright{cagov} +%\setcopyright{cagovmixed} + +% DOI +\acmDOI{0000001.0000001_2} + +% Paper history +\received{February 2007} +\received{March 2009} +\received[final version]{June 2009} +\received[accepted]{July 2009} + + +% Document starts +\begin{document} +% Title portion +\title{A Multifrequency MAC Specially Designed for Wireless Sensor + Network Applications} +\author{Gang Zhou} +\email{zhou@uva.edu} +\author{Yafeng Wu} +\email{ywu@uva.edu} +\affiliation{University of Virginia} +\author{Ting Yan} +\affiliation{Eaton Innovation Center} +\author{Tian He} +\affiliation{University of Minnesota} +\author{Chengdu Huang} +\affiliation{Google} +\author{John A. Stankovic} +\affiliation{University of Virginia} +\author{Tarek F. Abdelzaher} +\affiliation{University of Illinois at Urbana-Champaign} + +\begin{abstract} +Multifrequency media access control has been well understood in +general wireless ad hoc networks, while in wireless sensor networks, +researchers still focus on single frequency solutions. In wireless +sensor networks, each device is typically equipped with a single +radio transceiver and applications adopt much smaller packet sizes +compared to those in general wireless ad hoc networks. Hence, the +multifrequency MAC protocols proposed for general wireless ad hoc +networks are not suitable for wireless sensor network applications, +which we further demonstrate through our simulation experiments. In +this article, we propose MMSN, which takes advantage of +multifrequency availability while, at the same time, takes into +consideration the restrictions of wireless sensor networks. Through +extensive experiments, MMSN exhibits the prominent ability to utilize +parallel transmissions among neighboring nodes. When multiple physical +frequencies are available, it also achieves increased energy +efficiency, demonstrating the ability to work against radio +interference and the tolerance to a wide range of measured time +synchronization errors. +\end{abstract} + + +% +% The code below should be generated by the tool at +% http://dl.acm.org/ccs.cfm +% Please copy and paste the code instead of the example below. +% +\begin{CCSXML} +<ccs2012> + <concept> + <concept_id>10010520.10010553.10010562</concept_id> + <concept_desc>Computer systems organization~Embedded systems</concept_desc> + <concept_significance>500</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010575.10010755</concept_id> + <concept_desc>Computer systems organization~Redundancy</concept_desc> + <concept_significance>300</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010553.10010554</concept_id> + <concept_desc>Computer systems organization~Robotics</concept_desc> + <concept_significance>100</concept_significance> + </concept> + <concept> + <concept_id>10003033.10003083.10003095</concept_id> + <concept_desc>Networks~Network reliability</concept_desc> + <concept_significance>100</concept_significance> + </concept> +</ccs2012> +\end{CCSXML} + +\ccsdesc[500]{Computer systems organization~Embedded systems} +\ccsdesc[300]{Computer systems organization~Redundancy} +\ccsdesc{Computer systems organization~Robotics} +\ccsdesc[100]{Networks~Network reliability} + +% +% End generated code +% + +% We no longer use \terms command +\terms{Design, Algorithms, Performance} + +\keywords{Wireless sensor networks, media access control, +multi-channel, radio interference, time synchronization} + + +\thanks{This work is supported by the National Science Foundation, + under grant CNS-0435060, grant CCR-0325197 and grant EN-CS-0329609. + + Author's addresses: G. Zhou, Computer Science Department, College of + William and Mary; Y. Wu {and} J. A. Stankovic, Computer Science + Department, University of Virginia; T. Yan, Eaton Innovation Center; + T. He, Computer Science Department, University of Minnesota; C. + Huang, Google; T. F. Abdelzaher, (Current address) NASA Ames + Research Center, Moffett Field, California 94035.} + + +\maketitle + +\input{samplebody-journals} + + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/acmart/sample-bibliography.bib b/Master/texmf-dist/doc/latex/acmart/sample-bibliography.bib new file mode 100644 index 00000000000..4f9e1774810 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-bibliography.bib @@ -0,0 +1,1550 @@ +%%% ==================================================================== +%%% BibTeX-file{ +%%% author = "Gerry Murray", +%%% version = "1.2", +%%% date = "2 April 2012", +%%% filename = "acmsmall-sample-bibfile.bib", +%%% address = "ACM, NY", +%%% email = "murray at hq.acm.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "ACM Reference Format, bibliography, citation, references", +%%% supported = "yes", +%%% docstring = "This BibTeX database file contains 'bibdata' entries +%%% that 'match' the examples provided in the Specifications Document +%%% AND, also, 'legacy'-type bibs. It should assist authors in +%%% choosing the 'correct' at-bibtype and necessary bib-fields +%%% so as to obtain the appropriate ACM Reference Format output. +%%% It also contains many 'Standard Abbreviations'. " +%%% } +%%% ==================================================================== + +% Journals + +% First the Full Name is given, then the abbreviation used in the AMS Math +% Reviews, with an indication if it could not be found there. +% Note the 2nd overwrites the 1st, so swap them if you want the full name. + + %{AMS} + @String{AMSTrans = "American Mathematical Society Translations" } + @String{AMSTrans = "Amer. Math. Soc. Transl." } + @String{BullAMS = "Bulletin of the American Mathematical Society" } + @String{BullAMS = "Bull. Amer. Math. Soc." } + @String{ProcAMS = "Proceedings of the American Mathematical Society" } + @String{ProcAMS = "Proc. Amer. Math. Soc." } + @String{TransAMS = "Transactions of the American Mathematical Society" } + @String{TransAMS = "Trans. Amer. Math. Soc." } + + %ACM + @String{CACM = "Communications of the {ACM}" } + @String{CACM = "Commun. {ACM}" } + @String{CompServ = "Comput. Surveys" } + @String{JACM = "J. ACM" } + @String{ACMMathSoft = "{ACM} Transactions on Mathematical Software" } + @String{ACMMathSoft = "{ACM} Trans. Math. Software" } + @String{SIGNUM = "{ACM} {SIGNUM} Newsletter" } + @String{SIGNUM = "{ACM} {SIGNUM} Newslett." } + + @String{AmerSocio = "American Journal of Sociology" } + @String{AmerStatAssoc = "Journal of the American Statistical Association" } + @String{AmerStatAssoc = "J. Amer. Statist. Assoc." } + @String{ApplMathComp = "Applied Mathematics and Computation" } + @String{ApplMathComp = "Appl. Math. Comput." } + @String{AmerMathMonthly = "American Mathematical Monthly" } + @String{AmerMathMonthly = "Amer. Math. Monthly" } + @String{BIT = "{BIT}" } + @String{BritStatPsych = "British Journal of Mathematical and Statistical + Psychology" } + @String{BritStatPsych = "Brit. J. Math. Statist. Psych." } + @String{CanMathBull = "Canadian Mathematical Bulletin" } + @String{CanMathBull = "Canad. Math. Bull." } + @String{CompApplMath = "Journal of Computational and Applied Mathematics" } + @String{CompApplMath = "J. Comput. Appl. Math." } + @String{CompPhys = "Journal of Computational Physics" } + @String{CompPhys = "J. Comput. Phys." } + @String{CompStruct = "Computers and Structures" } + @String{CompStruct = "Comput. \& Structures" } + @String{CompJour = "The Computer Journal" } + @String{CompJour = "Comput. J." } + @String{CompSysSci = "Journal of Computer and System Sciences" } + @String{CompSysSci = "J. Comput. System Sci." } + @String{Computing = "Computing" } + @String{ContempMath = "Contemporary Mathematics" } + @String{ContempMath = "Contemp. Math." } + @String{Crelle = "Crelle's Journal" } + @String{GiornaleMath = "Giornale di Mathematiche" } + @String{GiornaleMath = "Giorn. Mat." } % didn't find in AMS MR., ibid. + + %IEEE + @String{Computer = "{IEEE} Computer" } + @String{IEEETransComp = "{IEEE} Transactions on Computers" } + @String{IEEETransComp = "{IEEE} Trans. Comput." } + @String{IEEETransAC = "{IEEE} Transactions on Automatic Control" } + @String{IEEETransAC = "{IEEE} Trans. Automat. Control" } + @String{IEEESpec = "{IEEE} Spectrum" } % didn't find in AMS MR + @String{ProcIEEE = "Proceedings of the {IEEE}" } + @String{ProcIEEE = "Proc. {IEEE}" } % didn't find in AMS MR + @String{IEEETransAeroElec = "{IEEE} Transactions on Aerospace and Electronic + Systems" } + @String{IEEETransAeroElec = "{IEEE} Trans. Aerospace Electron. Systems" } + + @String{IMANumerAna = "{IMA} Journal of Numerical Analysis" } + @String{IMANumerAna = "{IMA} J. Numer. Anal." } + @String{InfProcLet = "Information Processing Letters" } + @String{InfProcLet = "Inform. Process. Lett." } + @String{InstMathApp = "Journal of the Institute of Mathematics and + its Applications" } + @String{InstMathApp = "J. Inst. Math. Appl." } + @String{IntControl = "International Journal of Control" } + @String{IntControl = "Internat. J. Control" } + @String{IntNumerEng = "International Journal for Numerical Methods in + Engineering" } + @String{IntNumerEng = "Internat. J. Numer. Methods Engrg." } + @String{IntSuper = "International Journal of Supercomputing Applications" } + @String{IntSuper = "Internat. J. Supercomputing Applic." } % didn't find +%% in AMS MR + @String{Kibernetika = "Kibernetika" } + @String{JResNatBurStand = "Journal of Research of the National Bureau + of Standards" } + @String{JResNatBurStand = "J. Res. Nat. Bur. Standards" } + @String{LinAlgApp = "Linear Algebra and its Applications" } + @String{LinAlgApp = "Linear Algebra Appl." } + @String{MathAnaAppl = "Journal of Mathematical Analysis and Applications" } + @String{MathAnaAppl = "J. Math. Anal. Appl." } + @String{MathAnnalen = "Mathematische Annalen" } + @String{MathAnnalen = "Math. Ann." } + @String{MathPhys = "Journal of Mathematical Physics" } + @String{MathPhys = "J. Math. Phys." } + @String{MathComp = "Mathematics of Computation" } + @String{MathComp = "Math. Comp." } + @String{MathScand = "Mathematica Scandinavica" } + @String{MathScand = "Math. Scand." } + @String{TablesAidsComp = "Mathematical Tables and Other Aids to Computation" } + @String{TablesAidsComp = "Math. Tables Aids Comput." } + @String{NumerMath = "Numerische Mathematik" } + @String{NumerMath = "Numer. Math." } + @String{PacificMath = "Pacific Journal of Mathematics" } + @String{PacificMath = "Pacific J. Math." } + @String{ParDistComp = "Journal of Parallel and Distributed Computing" } + @String{ParDistComp = "J. Parallel and Distrib. Comput." } % didn't find +%% in AMS MR + @String{ParComputing = "Parallel Computing" } + @String{ParComputing = "Parallel Comput." } + @String{PhilMag = "Philosophical Magazine" } + @String{PhilMag = "Philos. Mag." } + @String{ProcNAS = "Proceedings of the National Academy of Sciences + of the USA" } + @String{ProcNAS = "Proc. Nat. Acad. Sci. U. S. A." } + @String{Psychometrika = "Psychometrika" } + @String{QuartMath = "Quarterly Journal of Mathematics, Oxford, Series (2)" } + @String{QuartMath = "Quart. J. Math. Oxford Ser. (2)" } + @String{QuartApplMath = "Quarterly of Applied Mathematics" } + @String{QuartApplMath = "Quart. Appl. Math." } + @String{RevueInstStat = "Review of the International Statisical Institute" } + @String{RevueInstStat = "Rev. Inst. Internat. Statist." } + + %SIAM + @String{JSIAM = "Journal of the Society for Industrial and Applied + Mathematics" } + @String{JSIAM = "J. Soc. Indust. Appl. Math." } + @String{JSIAMB = "Journal of the Society for Industrial and Applied + Mathematics, Series B, Numerical Analysis" } + @String{JSIAMB = "J. Soc. Indust. Appl. Math. Ser. B Numer. Anal." } + @String{SIAMAlgMeth = "{SIAM} Journal on Algebraic and Discrete Methods" } + @String{SIAMAlgMeth = "{SIAM} J. Algebraic Discrete Methods" } + @String{SIAMAppMath = "{SIAM} Journal on Applied Mathematics" } + @String{SIAMAppMath = "{SIAM} J. Appl. Math." } + @String{SIAMComp = "{SIAM} Journal on Computing" } + @String{SIAMComp = "{SIAM} J. Comput." } + @String{SIAMMatrix = "{SIAM} Journal on Matrix Analysis and Applications" } + @String{SIAMMatrix = "{SIAM} J. Matrix Anal. Appl." } + @String{SIAMNumAnal = "{SIAM} Journal on Numerical Analysis" } + @String{SIAMNumAnal = "{SIAM} J. Numer. Anal." } + @String{SIAMReview = "{SIAM} Review" } + @String{SIAMReview = "{SIAM} Rev." } + @String{SIAMSciStat = "{SIAM} Journal on Scientific and Statistical + Computing" } + @String{SIAMSciStat = "{SIAM} J. Sci. Statist. Comput." } + + @String{SoftPracExp = "Software Practice and Experience" } + @String{SoftPracExp = "Software Prac. Experience" } % didn't find in AMS MR + @String{StatScience = "Statistical Science" } + @String{StatScience = "Statist. Sci." } + @String{Techno = "Technometrics" } + @String{USSRCompMathPhys = "{USSR} Computational Mathematics and Mathematical + Physics" } + @String{USSRCompMathPhys = "{U. S. S. R.} Comput. Math. and Math. Phys." } + @String{VLSICompSys = "Journal of {VLSI} and Computer Systems" } + @String{VLSICompSys = "J. {VLSI} Comput. Syst." } + @String{ZAngewMathMech = "Zeitschrift fur Angewandte Mathematik und + Mechanik" } + @String{ZAngewMathMech = "Z. Angew. Math. Mech." } + @String{ZAngewMathPhys = "Zeitschrift fur Angewandte Mathematik und Physik" } + @String{ZAngewMathPhys = "Z. Angew. Math. Phys." } + +% Publishers % ================================================= | + + @String{Academic = "Academic Press" } + @String{ACMPress = "{ACM} Press" } + @String{AdamHilger = "Adam Hilger" } + @String{AddisonWesley = "Addison-Wesley" } + @String{AllynBacon = "Allyn and Bacon" } + @String{AMS = "American Mathematical Society" } + @String{Birkhauser = "Birkha{\"u}ser" } + @String{CambridgePress = "Cambridge University Press" } + @String{Chelsea = "Chelsea" } + @String{ClaredonPress = "Claredon Press" } + @String{DoverPub = "Dover Publications" } + @String{Eyolles = "Eyolles" } + @String{HoltRinehartWinston = "Holt, Rinehart and Winston" } + @String{Interscience = "Interscience" } + @String{JohnsHopkinsPress = "The Johns Hopkins University Press" } + @String{JohnWileySons = "John Wiley and Sons" } + @String{Macmillan = "Macmillan" } + @String{MathWorks = "The Math Works Inc." } + @String{McGrawHill = "McGraw-Hill" } + @String{NatBurStd = "National Bureau of Standards" } + @String{NorthHolland = "North-Holland" } + @String{OxfordPress = "Oxford University Press" } %address Oxford or London? + @String{PergamonPress = "Pergamon Press" } + @String{PlenumPress = "Plenum Press" } + @String{PrenticeHall = "Prentice-Hall" } + @String{SIAMPub = "{SIAM} Publications" } + @String{Springer = "Springer-Verlag" } + @String{TexasPress = "University of Texas Press" } + @String{VanNostrand = "Van Nostrand" } + @String{WHFreeman = "W. H. Freeman and Co." } + +%Entries + +@Article{Abril07, + author = "Patricia S. Abril and Robert Plant", + title = "The patent holder's dilemma: Buy, sell, or troll?", + journal = "Communications of the ACM", + volume = "50", + number = "1", + month = jan, + year = "2007", + pages = "36--44", + doi = "10.1145/1188913.1188915", + url = "http://doi.acm.org/10.1145/1219092.1219093", + note = "", +} + +@Article{Cohen07, + author = "Sarah Cohen and Werner Nutt and Yehoshua Sagic", + title = "Deciding equivalances among conjunctive aggregate queries", + journal = JACM, + articleno = "5", + numpages = "50", + volume = "54", + number = "2", + month = apr, + year = "2007", + doi = "10.1145/1219092.1219093", + url = "http://doi.acm.org/10.1145/1219092.1219093", + acmid = "1219093", + note = "", +} + + +@article{JCohen96, + key = "Cohen", + editor = "Jacques Cohen", + title = "Special Issue: Digital Libraries", + journal = CACM, + volume = "39", + number = "11", + month = nov, + year = "1996", + author = "", + publisher = "", + chapter = "", + pages = "", + series = "", + address = "", + edition = "", + note = "", +} + + +@Book{Kosiur01, + author = "David Kosiur", + title = "Understanding Policy-Based Networking", + publisher = "Wiley", + year = "2001", + address = "New York, NY", + edition = "2nd.", + editor = "", + volume = "", + number = "", + series = "", + month = "", + note = "", +} + + +@Book{Harel79, + author = "David Harel", + year = "1979", + title = "First-Order Dynamic Logic", + series = "Lecture Notes in Computer Science", + volume = "68", + address = "New York, NY", + publisher = "Springer-Verlag", + doi = "10.1007/3-540-09237-4", + url = "http://dx.doi.org/10.1007/3-540-09237-4", + editor = "", + number = "", + month = "", + note = "", +} + + +@Inbook{Editor00, + author = "", + editor = "Ian Editor", + title = "The title of book one", + subtitle = "The book subtitle", + series = "The name of the series one", + year = "2007", + volume = "9", + address = "Chicago", + edition = "1st.", + publisher = "University of Chicago Press", + doi = "10.1007/3-540-09237-4", + url = "http://dx.doi.org/10.1007/3-540-09456-9", + chapter = "", + pages = "", + number = "", + type = "", + month = "", + note = "", +} + +% +@InBook{Editor00a, + author = "", + editor = "Ian Editor", + title = "The title of book two", + subtitle = "The book subtitle", + series = "The name of the series two", + year = "2008", + address = "Chicago", + edition = "2nd.", + publisher = "University of Chicago Press", + doi = "10.1007/3-540-09237-4", + url = "http://dx.doi.org/10.1007/3-540-09456-9", + volume = "", + chapter = "100", + pages = "", + number = "", + type = "", + month = "", + note = "", +} + + +% incollection (has an editor, title, and possibly a booktitle) +@Incollection{Spector90, + author = "Asad Z. Spector", + title = "Achieving application requirements", + booktitle = "Distributed Systems", + publisher = "ACM Press", + address = "New York, NY", + year = "1990", + edition = "2nd.", + chapter = "", + editor = "Sape Mullender", + pages = "19--33", + doi = "10.1145/90417.90738", + url = "http://doi.acm.org/10.1145/90417.90738", + volume = "", + number = "", + series = "", + type = "", + month = "", + note = "", +} + + +% incollection (has an editor, title, and possibly a booktitle) +@Incollection{Douglass98, + author = "Bruce P. Douglass and David Harel and Mark B. Trakhtenbrot", + title = "Statecarts in use: structured analysis and object-orientation", + series = "Lecture Notes in Computer Science", + booktitle = "Lectures on Embedded Systems", + publisher = "Springer-Verlag", + address = "London", + volume = "1494", + year = "1998", + chapter = "", + editor = "Grzegorz Rozenberg and Frits W. Vaandrager", + pages = "368--394", + doi = "10.1007/3-540-65193-4_29", + url = "http://dx.doi.org/10.1007/3-540-65193-4_29", + edition = "", + number = "", + type = "", + month = "", + note = "", +} + + +@Book{Knuth97, + author = "Donald E. Knuth", + title = "The Art of Computer Programming, Vol. 1: Fundamental Algorithms (3rd. ed.)", + publisher = "Addison Wesley Longman Publishing Co., Inc.", + year = "1997", + address = "", + edition = "", + editor = "", + volume = "", + number = "", + series = "", + month = "", + note = "", +} + + +@Book{Knuth98, + author = "Donald E. Knuth", + year = "1998", + title = "The Art of Computer Programming", + series = "Fundamental Algorithms", + volume = "1", + edition = "3rd", + address = "", + publisher = "Addison Wesley Longman Publishing Co., Inc.", + doi = "", + url = "", + editor = "", + number = "", + month = "", + note = "(book)", +} + +%Inbook{Knuth97, +% author = "Donald E. Knuth", +% title = "The Art of Computer Programming", +% booktitle = "the booktitle", +% edition = "3", +% volume = "1", +% year = "1997", +% publisher = "Addison Wesley Longman Publishing Co., Inc.", +% editor = "", +% number = "", +% series = "Fundamental Algorithms", +% type = "", +% chapter = "", +% pages = "", +% address = "", +% month = "", +% note = "(inbook)", +%} + +%INBOOK{DK:73-inbook-full, +% author = "Donald E. Knuth", +% title = "Fundamental Algorithms (inbook w series)", +% volume = 1, +% series = "The Art of Computer Programming", +% publisher = "Addison-Wesley", +% address = "Reading, Massachusetts", +% edition = "Second", +% month = "10~" # jan, +% year = "1973", +% type = "Section", +% chapter = "1.2", +% pages = "10--119", +% note = "Full INBOOK entry (w series)", +%} + +%INcollection{DK:74-incoll, +% author = "Donald E. Knuth", +% title = "Fundamental Algorithms (incoll)", +% volume = 1, +% booktitle = "The Art of Computer Programming", +% publisher = "Addison-Wesley", +% address = "Reading, Massachusetts", +% month = "10~" # jan, +% year = "1974", +% pages = "10--119", +% editor = "Bernard Rous", +% note = "This is a full incoll entry with an editor", +%} + +%INcollection{DK:75-incollws, +% author = "Donald E. Knuth", +% title = "Fundamental Algorithms (incoll w series)", +% volume = 1, +% booktitle = "The Art of Computer Programming", +% series = "The Art of Computer Programming", +% publisher = "Addison-Wesley", +% address = "Reading, Massachusetts", +% month = "10~" # jan, +% year = "1975", +% pages = "10--119", +% editor = "Bernard Rous", +% note = "This is a full incoll entry with an editor and series", +%} + + +@incollection{GM05, +Author= "Dan Geiger and Christopher Meek", +Title= "Structured Variational Inference Procedures and their Realizations (as incol)", +Year= 2005, +Booktitle="Proceedings of Tenth International Workshop on Artificial Intelligence and Statistics, {\rm The Barbados}", +Publisher="The Society for Artificial Intelligence and Statistics", +Month= jan, +Editors= "Z. Ghahramani and R. Cowell" +} + +@Inproceedings{Smith10, + author = "Stan W. Smith", + title = "An experiment in bibliographic mark-up: Parsing metadata for XML export", + booktitle = "Proceedings of the 3rd. annual workshop on Librarians and Computers", + series = "LAC '10", + editor = "Reginald N. Smythe and Alexander Noble", + volume = "3", + year = "2010", + publisher = "Paparazzi Press", + address = "Milan Italy", + pages = "422--431", + doi = "99.9999/woot07-S422", + url = "http://dx.doi.org/99.0000/woot07-S422", + number = "", + month = "", + organization = "", + note = "", +} + +@Inproceedings{VanGundy07, + author = "Matthew Van Gundy and Davide Balzarotti and Giovanni Vigna", + year = "2007", + title = "Catch me, if you can: Evading network signatures with web-based polymorphic worms", + booktitle = "Proceedings of the first USENIX workshop on Offensive Technologies", + series = "WOOT '07", + publisher = "USENIX Association", + address = "Berkley, CA", + articleno = "7", + numpages = "9", + editor = "", + volume = "", + number = "", + pages = "", + month = "", + organization = "", + note = "", +} + +@Inproceedings{VanGundy08, + author = "Matthew Van Gundy and Davide Balzarotti and Giovanni Vigna", + year = "2008", + title = "Catch me, if you can: Evading network signatures with web-based polymorphic worms", + booktitle = "Proceedings of the first USENIX workshop on Offensive Technologies", + series = "WOOT '08", + publisher = "USENIX Association", + address = "Berkley, CA", + articleno = "7", + numpages = "2", + editor = "", + volume = "", + number = "", + pages = "99-100", + month = "", + organization = "", + note = "", +} + +@Inproceedings{VanGundy09, + author = "Matthew Van Gundy and Davide Balzarotti and Giovanni Vigna", + year = "2009", + title = "Catch me, if you can: Evading network signatures with web-based polymorphic worms", + booktitle = "Proceedings of the first USENIX workshop on Offensive Technologies", + series = "WOOT '09", + publisher = "USENIX Association", + address = "Berkley, CA", + articleno = "", + numpages = "", + editor = "", + volume = "", + number = "", + pages = "90--100", + month = "", + organization = "", + note = "", +} + +@Inproceedings{Andler79, + author = "Sten Andler", + title = "Predicate Path expressions", + booktitle = "Proceedings of the 6th. ACM SIGACT-SIGPLAN symposium on Principles of Programming Languages", + series = "POPL '79", + year = "1979", + publisher = "ACM Press", + address = "New York, NY", + pages = "226--236", + doi = "10.1145/567752.567774", + url = "http://doi.acm.org/10.1145/567752.567774", + editor = "", + volume = "", + number = "", + month = "", + organization = "", + note = "", +} + +@Techreport{Harel78, + author = "David Harel", + year = "1978", + title = "LOGICS of Programs: AXIOMATICS and DESCRIPTIVE POWER", + institution = "Massachusetts Institute of Technology", + type = "MIT Research Lab Technical Report", + number = "TR-200", + address = "Cambridge, MA", + month = "", + note = "", +} + +@MASTERSTHESIS{anisi03, +author = {David A. Anisi}, +title = {Optimal Motion Control of a Ground Vehicle}, +school = {Royal Institute of Technology (KTH), Stockholm, Sweden}, +intitution = {FOI-R-0961-SE, Swedish Defence Research Agency (FOI)}, +year = {2003}, +} + + +@Phdthesis{Clarkson85, + author = "Kenneth L. Clarkson", + year = "1985", + title = "Algorithms for Closest-Point Problems (Computational Geometry)", + school = "Stanford University", + address = "Palo Alto, CA", + note = "UMI Order Number: AAT 8506171", + type = "", + month = "", +} + + +@misc{Thornburg01, + author = "Harry Thornburg", + year = "2001", + title = "Introduction to Bayesian Statistics", + note = "", + url = "http://ccrma.stanford.edu/~jos/bayes/bayes.html", + howpublished = "", + month = mar, + lastaccessed = "March 2, 2005", +} + + +@misc{Ablamowicz07, + author = "Rafal Ablamowicz and Bertfried Fauser", + year = "2007", + title = "CLIFFORD: a Maple 11 Package for Clifford Algebra Computations, version 11", + note = "", + url = "http://math.tntech.edu/rafal/cliff11/index.html", + howpublished = "", + month = "", + lastaccessed = "February 28, 2008", +} + + +@misc{Poker06, + author = "Poker-Edge.Com", + year = "2006", + month = mar, + title = "Stats and Analysis", + lastaccessed = "June 7, 2006", + url = "http://www.poker-edge.com/stats.php", + howpublished = "", +} + +@misc{Obama08, + author = "Barack Obama", + year = "2008", + title = "A more perfect union", + howpublished = "Video", + day = "5", + url = "http://video.google.com/videoplay?docid=6528042696351994555", + month = mar, + lastaccessed = "March 21, 2008", + note = "", +} + +@misc{JoeScientist001, + author = "Joseph Scientist", + year = "2009", + title = "The fountain of youth", + note = "Patent No. 12345, Filed July 1st., 2008, Issued Aug. 9th., 2009", + url = "", + howpublished = "", + month = aug, + lastaccessed = "", +} + + +@Inproceedings{Novak03, + author = "Dave Novak", + title = "Solder man", + booktitle = "ACM SIGGRAPH 2003 Video Review on Animation theater Program: Part I - Vol. 145 (July 27--27, 2003)", + year = "2003", + publisher = "ACM Press", + address = "New York, NY", + pages = "4", + month = "March 21, 2008", + doi = "99.9999/woot07-S422", + url = "http://video.google.com/videoplay?docid=6528042696351994555", + note = "", + howpublished = "Video", + editor = "", + volume = "", + number = "", + series = "", + organization = "", +} + + +@article{Lee05, + author = "Newton Lee", + year = "2005", + title = "Interview with Bill Kinder: January 13, 2005", + journal = "Comput. Entertain.", + articleno = "4", + volume = "3", + number = "1", + month = "Jan.-March", + doi = "10.1145/1057270.1057278", + url = "http://doi.acm.org/10.1145/1057270.1057278", + howpublished = "Video", + note = "", +} + +@article{Rous08, + author = "Bernard Rous", + year = "2008", + title = "The Enabling of Digital Libraries", + journal = "Digital Libraries", + volume = "12", + number = "3", + month = jul, + articleno = "5", + doi = "", + url = "", + howpublished = "", + note = "To appear", +} + +@article{384253, + author = {Werneck,, Renato and Setubal,, Jo\~{a}o and da Conceic\~{a}o,, Arlindo}, + title = {(old) Finding minimum congestion spanning trees}, + journal = {J. Exp. Algorithmics}, + volume = {5}, + year = {2000}, + issn = {1084-6654}, + pages = {11}, + doi = {http://doi.acm.org/10.1145/351827.384253}, + publisher = {ACM}, + address = {New York, NY, USA}, + } + + +@article{Werneck:2000:FMC:351827.384253, + author = {Werneck, Renato and Setubal, Jo\~{a}o and da Conceic\~{a}o, Arlindo}, + title = {(new) Finding minimum congestion spanning trees}, + journal = {J. Exp. Algorithmics}, + volume = {5}, + month = dec, + year = {2000}, + issn = {1084-6654}, + articleno = {11}, + url = {http://portal.acm.org/citation.cfm?id=351827.384253}, + doi = {10.1145/351827.384253}, + acmid = {384253}, + publisher = {ACM}, + address = {New York, NY, USA}, +} + +@article{1555162, + author = {Conti, Mauro and Di Pietro, Roberto and Mancini, Luigi V. and Mei, Alessandro}, + title = {(old) Distributed data source verification in wireless sensor networks}, + journal = {Inf. Fusion}, + volume = {10}, + number = {4}, + year = {2009}, + issn = {1566-2535}, + pages = {342--353}, + doi = {http://dx.doi.org/10.1016/j.inffus.2009.01.002}, + publisher = {Elsevier Science Publishers B. V.}, + address = {Amsterdam, The Netherlands, The Netherlands}, + } + +@article{Conti:2009:DDS:1555009.1555162, + author = {Conti, Mauro and Di Pietro, Roberto and Mancini, Luigi V. and Mei, Alessandro}, + title = {(new) Distributed data source verification in wireless sensor networks}, + journal = {Inf. Fusion}, + volume = {10}, + number = {4}, + month = oct, + year = {2009}, + issn = {1566-2535}, + pages = {342--353}, + numpages = {12}, + url = {http://portal.acm.org/citation.cfm?id=1555009.1555162}, + doi = {10.1016/j.inffus.2009.01.002}, + acmid = {1555162}, + publisher = {Elsevier Science Publishers B. V.}, + address = {Amsterdam, The Netherlands, The Netherlands}, + keywords = {Clone detection, Distributed protocol, Securing data fusion, Wireless sensor networks}, +} + +@inproceedings{Li:2008:PUC:1358628.1358946, + author = {Li, Cheng-Lun and Buyuktur, Ayse G. and Hutchful, David K. and Sant, Natasha B. and Nainwal, Satyendra K.}, + title = {Portalis: using competitive online interactions to support aid initiatives for the homeless}, + booktitle = {CHI '08 extended abstracts on Human factors in computing systems}, + year = {2008}, + isbn = {978-1-60558-012-X}, + location = {Florence, Italy}, + pages = {3873--3878}, + numpages = {6}, + url = {http://portal.acm.org/citation.cfm?id=1358628.1358946}, + doi = {10.1145/1358628.1358946}, + acmid = {1358946}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {cscw, distributed knowledge acquisition, incentive design, online games, recommender systems, reputation systems, user studies, virtual community}, +} + +@book{Hollis:1999:VBD:519964, + author = {Hollis, Billy S.}, + title = {Visual Basic 6: Design, Specification, and Objects with Other}, + year = {1999}, + isbn = {0130850845}, + edition = {1st}, + publisher = {Prentice Hall PTR}, + address = {Upper Saddle River, NJ, USA}, + } + + +@book{Goossens:1999:LWC:553897, + author = {Goossens, Michel and Rahtz, S. P. and Moore, Ross and Sutor, Robert S.}, + title = {The Latex Web Companion: Integrating TEX, HTML, and XML}, + year = {1999}, + isbn = {0201433117}, + edition = {1st}, + publisher = {Addison-Wesley Longman Publishing Co., Inc.}, + address = {Boston, MA, USA}, + } + +% need to test genres for errant isbn output + +% techreport +@techreport{897367, + author = {Buss, Jonathan F. and Rosenberg, Arnold L. and Knott, Judson D.}, + title = {Vertex Types in Book-Embeddings}, + year = {1987}, + source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Aumass_cs%3Ancstrl.umassa_cs%2F%2FUM-CS-1987-018}, + publisher = {University of Massachusetts}, + address = {Amherst, MA, USA}, + } + +@techreport{Buss:1987:VTB:897367, + author = {Buss, Jonathan F. and Rosenberg, Arnold L. and Knott, Judson D.}, + title = {Vertex Types in Book-Embeddings}, + year = {1987}, + source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Aumass_cs%3Ancstrl.umassa_cs%2F%2FUM-CS-1987-018}, + publisher = {University of Massachusetts}, + address = {Amherst, MA, USA}, + } + +% whole proceedings + +@proceedings{Czerwinski:2008:1358628, + author = {}, + note = {General Chair-Czerwinski, Mary and General Chair-Lund, Arnie and Program Chair-Tan, Desney}, + title = {CHI '08: CHI '08 extended abstracts on Human factors in computing systems}, + year = {2008}, + isbn = {978-1-60558-012-X}, + location = {Florence, Italy}, + order_no = {608085}, + publisher = {ACM}, + address = {New York, NY, USA}, + } + +% phdthesis + +@phdthesis{Clarkson:1985:ACP:911891, + author = {Clarkson, Kenneth Lee}, + advisor = {Yao, Andrew C.}, + title = {Algorithms for Closest-Point Problems (Computational Geometry)}, + year = {1985}, + note = {AAT 8506171}, + school = {Stanford University}, + address = {Stanford, CA, USA}, + } +% school is being picked up -- but not publisher (which is OK) +% Also -- the title is NOT being output in italics !!! Arrrrgh! - I fixed it. :-) + + +%%% compare with 'old' +%%% atsign-Phdthesis{Clarkson85, +%%% author = "Kenneth L. Clarkson", +%%% year = "1985", +%%% title = "Algorithms for Closest-Point Problems (Computational Geometry)", +%%% school = "Stanford University", +%%% address = "Palo Alto, CA", +%%% note = "UMI Order Number: AAT 8506171", +%%% type = "", +%%% month = "", +%%%} + +% A bibliography +@Article{1984:1040142, + key = {{$\!\!$}}, + journal = {SIGCOMM Comput. Commun. Rev.}, + year = {1984}, + issn = {0146-4833}, + volume = {13-14}, + number = {5-1}, + issue_date = {January/April 1984}, + publisher = {ACM}, + address = {New York, NY, USA}, + } + + +% grinder +@inproceedings{2004:ITE:1009386.1010128, + title = {IEEE TCSC Executive Committee}, + booktitle = {Proceedings of the IEEE International Conference on Web Services}, + series = {ICWS '04}, + year = {2004}, + isbn = {0-7695-2167-3}, + pages = {.21--}, + url = {http://dx.doi.org/10.1109/ICWS.2004.64}, + doi = {http://dx.doi.org/10.1109/ICWS.2004.64}, + acmid = {1010128}, + publisher = {IEEE Computer Society}, + address = {Washington, DC, USA}, +key = {{$\!\!$}} , +} + +% div book +@book{Mullender:1993:DS(:302430, + editor = {Mullender, Sape}, + title = {Distributed systems (2nd Ed.)}, + year = {1993}, + isbn = {0-201-62427-3}, + publisher = {ACM Press/Addison-Wesley Publishing Co.}, + address = {New York, NY, USA}, + } + +% master thesis (as techreport and thesis) + +@techreport{Petrie:1986:NAD:899644, + author = {Petrie, Charles J.}, + title = {New Algorithms for Dependency-Directed Backtracking (Master's thesis)}, + year = {1986}, + source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Autexas_cs%3AUTEXAS_CS%2F%2FAI86-33}, + publisher = {University of Texas at Austin}, + address = {Austin, TX, USA}, + } + +@MASTERSTHESIS{Petrie:1986:NAD:12345, + author = {Petrie, Charles J.}, + title = {New Algorithms for Dependency-Directed Backtracking (Master's thesis)}, + year = {1986}, + source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Autexas_cs%3AUTEXAS_CS%2F%2FAI86-33}, + school = {University of Texas at Austin}, + address = {Austin, TX, USA}, + } + + + + +@BOOK{book-minimal, + author = "Donald E. Knuth", + title = "Seminumerical Algorithms", + publisher = "Addison-Wesley", + year = "1981", +} + +% incollection (has an editor, title, and possibly a booktitle) +@INcollection{KA:2001, + author = {Kong, Wei-Chang}, + Title = {The implementation of electronic commerce in SMEs in Singapore (as Incoll)}, + booktitle = {E-commerce and cultural values}, + year = {2001}, + isbn = {1-59140-056-2}, + pages = {51--74}, + numpages = {24}, + url = {http://portal.acm.org/citation.cfm?id=887006.887010}, + acmid = {887010}, + publisher = {IGI Publishing}, + address = {Hershey, PA, USA}, +} + + +% with bibfield 'type' before chapter (note no editor) +@INBOOK{KAGM:2001, + author = {Kong, Wei-Chang}, + type = {Name of Chapter:}, + chapter = {The implementation of electronic commerce in SMEs in Singapore (Inbook-w-chap-w-type)}, + title = {E-commerce and cultural values}, + year = {2001}, + isbn = {1-59140-056-2}, + pages = {51--74}, + numpages = {24}, + url = {http://portal.acm.org/citation.cfm?id=887006.887010}, + acmid = {887010}, + publisher = {IGI Publishing}, + address = {Hershey, PA, USA}, +} + +%%% Notes! This is because the atsign-INBOOK citation type specifies EITHER +%%% editor or author, but not both. In my experiments with the harvard/dcu +%%% bibtex style (and presumably this applies to other styles too), bibtex +%%% ignores the editor information if author information exists in an +%%% atsign-INBOOK entry. atsign-INCOLLECTION is far more commonly used in my references, +%%% and in the absence of an editor I believe most bibtex styles will just +%%% ommit the editor from the reference - the chapter information will not +%%% end up in the in-text citation as you suggest it should be but at least +%%% there is a place to put the editor if necessary. + + + +% was 'Inbook' -- changed to incollection - (editor is different to author) - need to tell Asad to codify as such. +@incollection{Kong:2002:IEC:887006.887010, + author = {Kong, Wei-Chang}, + editor = {Theerasak Thanasankit}, + title = {Chapter 9}, + booktitle = {E-commerce and cultural values (Incoll-w-text (chap 9) 'title')}, + year = {2002}, + address = {Hershey, PA, USA}, + publisher = {IGI Publishing}, + url = {http://portal.acm.org/citation.cfm?id=887006.887010}, + pages = {51--74}, + numpages = {24}, + acmid = {887010}, + isbn = {1-59140-056-2}, + number = "", + type = "", + month = "", + note = "", +} + +% incol when the chapter is 'text' - due to presence of editor (different to author) +@incollection{Kong:2003:IEC:887006.887011, + author = {Kong, Wei-Chang}, + title = {The implementation of electronic commerce in SMEs in Singapore (Incoll)}, + booktitle = {E-commerce and cultural values}, + editor = {Thanasankit, Theerasak}, + year = {2003}, + isbn = {1-59140-056-2}, + pages = {51--74}, + numpages = {24}, + url = {http://portal.acm.org/citation.cfm?id=887006.887010}, + acmid = {887010}, + publisher = {IGI Publishing}, + address = {Hershey, PA, USA}, +} + +% ------ test +%incollection{Kong:2003:IEC:887006.887010, +% author = {Kong, Wei-Chang}, +% chapter = {The implementation of electronic commerce in SMEs in Singapore (Incoll-text-in-chap)}, +% booktitle = {booktitle E-commerce and cultural values}, +% title = {The title}, +% editor = {Thanasankit, Theerasak}, +% year = {2003}, +% isbn = {1-59140-056-2}, +% pages = {51--74}, +% numpages = {24}, +% url = {http://portal.acm.org/citation.cfm?id=887006.887010}, +% acmid = {887010}, +% publisher = {IGI Publishing}, +% address = {Hershey, PA, USA}, +%} + + +% --------- + + + + + +% Need inbook with num in chapter + +% and inbook with number in chapter +@InBook{Kong:2004:IEC:123456.887010, + author = {Kong, Wei-Chang}, + editor = {Theerasak Thanasankit}, + title = {E-commerce and cultural values - (InBook-num-in-chap)}, + chapter = {9}, + year = {2004}, + address = {Hershey, PA, USA}, + publisher = {IGI Publishing}, + url = {http://portal.acm.org/citation.cfm?id=887006.887010}, + pages = {51--74}, + numpages = {24}, + acmid = {887010}, + isbn = {1-59140-056-2}, + number = "", + type = "", + month = "", + note = "", +} + + +% and inbook with text in chapter +@Inbook{Kong:2005:IEC:887006.887010, + author = {Kong, Wei-Chang}, + editor = {Theerasak Thanasankit}, + title = {E-commerce and cultural values (Inbook-text-in-chap)}, + chapter = {The implementation of electronic commerce in SMEs in Singapore}, + year = {2005}, + address = {Hershey, PA, USA}, + publisher = {IGI Publishing}, + url = {http://portal.acm.org/citation.cfm?id=887006.887010}, + type = {Chapter:}, + pages = {51--74}, + numpages = {24}, + acmid = {887010}, + isbn = {1-59140-056-2}, + number = "", + month = "", + note = "", +} + + +% and inbook with a num and type field +@Inbook{Kong:2006:IEC:887006.887010, + author = {Kong, Wei-Chang}, + editor = {Theerasak Thanasankit}, + title = {E-commerce and cultural values (Inbook-num chap)}, + chapter = {22}, + year = {2006}, + address = {Hershey, PA, USA}, + publisher = {IGI Publishing}, + url = {http://portal.acm.org/citation.cfm?id=887006.887010}, + type = {Chapter (in type field)}, + pages = {51--74}, + numpages = {24}, + acmid = {887010}, + isbn = {1-59140-056-2}, + number = "", + month = "", + note = "", +} + + +% and incol coz we have a BLANK chapter - due to presence of editor +%atIncollection{Kong:2006:IEC:887006.887011, +% author = {Kong, Wei-Chang}, +% editor = {Theerasak Thanasankit}, +% title = "The title" +% booktitle = {E-commerce and cultural values (Incol-coz-blank-chap)}, +% year = {2006}, +% address = {Hershey, PA, USA}, +% publisher = {IGI Publishing}, +% url = {http://portal.acm.org/citation.cfm?id=887006.887010}, +% type = {Type!}, +% chapter = {}, +% pages = {51--74}, +% numpages = {24}, +% acmid = {887010}, +% isbn = {1-59140-056-2}, +% number = "", +% month = "", +% note = "", +%} + +@article{SaeediMEJ10, + author = {Mehdi Saeedi and Morteza Saheb Zamani and Mehdi Sedighi}, + title = {A library-based synthesis methodology for reversible logic}, + journal = {Microelectron. J.}, + volume = {41}, + number = {4}, + month = apr, + year = {2010}, + pages = {185--194}, +} + +@ARTICLE{SaeediJETC10, + author = {Mehdi Saeedi and Morteza Saheb Zamani and Mehdi Sedighi and Zahra Sasanian}, + title = {Synthesis of Reversible Circuit Using Cycle-Based Approach}, + journal = {J. Emerg. Technol. Comput. Syst.}, + volume = {6}, + number = {4}, + month = dec, + year = {2010} + } + +% Asad's new version +@article{Kirschmer:2010:AEI:1958016.1958018, + author = {Kirschmer, Markus and Voight, John}, + title = {Algorithmic Enumeration of Ideal Classes for Quaternion Orders}, + journal = {SIAM J. Comput.}, + issue_date = {January 2010}, + volume = {39}, + number = {5}, + month = jan, + year = {2010}, + issn = {0097-5397}, + pages = {1714--1747}, + numpages = {34}, + url = {http://dx.doi.org/10.1137/080734467}, + doi = {http://dx.doi.org/10.1137/080734467}, + acmid = {1958018}, + publisher = {Society for Industrial and Applied Mathematics}, + address = {Philadelphia, PA, USA}, + keywords = {ideal classes, maximal orders, number theory, quaternion algebras}, +} + + +% incol due to presence of booktitle +@incollection{Hoare:1972:CIN:1243380.1243382, + author = {Hoare, C. A. R.}, + title = {Chapter II: Notes on data structuring}, + booktitle = {Structured programming (incoll)}, + editor = {Dahl, O. J. and Dijkstra, E. W. and Hoare, C. A. R.}, + year = {1972}, + isbn = {0-12-200550-3}, + pages = {83--174}, + numpages = {92}, + url = {http://portal.acm.org/citation.cfm?id=1243380.1243382}, + acmid = {1243382}, + publisher = {Academic Press Ltd.}, + address = {London, UK, UK}, +} + +% incol due to presence of booktitle +@incollection{Lee:1978:TQA:800025.1198348, + author = {Lee, Jan}, + title = {Transcript of question and answer session}, + booktitle = {History of programming languages I (incoll)}, + editor = {Wexelblat, Richard L.}, + year = {1981}, + isbn = {0-12-745040-8}, + pages = {68--71}, + numpages = {4}, + url = {http://doi.acm.org/10.1145/800025.1198348}, + doi = {http://doi.acm.org/10.1145/800025.1198348}, + acmid = {1198348}, + publisher = {ACM}, + address = {New York, NY, USA}, +} + +% incol due to booktitle +@incollection{Dijkstra:1979:GSC:1241515.1241518, + author = {Dijkstra, E.}, + title = {Go to statement considered harmful}, + booktitle = {Classics in software engineering (incoll)}, + year = {1979}, + isbn = {0-917072-14-6}, + pages = {27--33}, + numpages = {7}, + url = {http://portal.acm.org/citation.cfm?id=1241515.1241518}, + acmid = {1241518}, + publisher = {Yourdon Press}, + address = {Upper Saddle River, NJ, USA}, +} + +% incol due to booktitle +@incollection{Wenzel:1992:TVA:146022.146089, + author = {Wenzel, Elizabeth M.}, + title = {Three-dimensional virtual acoustic displays}, + booktitle = {Multimedia interface design (incoll)}, + year = {1992}, + isbn = {0-201-54981-6}, + pages = {257--288}, + numpages = {32}, + url = {http://portal.acm.org/citation.cfm?id=146022.146089}, + doi = {10.1145/146022.146089}, + acmid = {146089}, + publisher = {ACM}, + address = {New York, NY, USA}, +} + +% incol due to booktitle +@incollection{Mumford:1987:MES:54905.54911, + author = {Mumford, E.}, + title = {Managerial expert systems and organizational change: some critical research issues}, + booktitle = {Critical issues in information systems research (incoll)}, + year = {1987}, + isbn = {0-471-91281-6}, + pages = {135--155}, + numpages = {21}, + url = {http://portal.acm.org/citation.cfm?id=54905.54911}, + acmid = {54911}, + publisher = {John Wiley \& Sons, Inc.}, + address = {New York, NY, USA}, +} + +@book{McCracken:1990:SSC:575315, + author = {McCracken, Daniel D. and Golden, Donald G.}, + title = {Simplified Structured COBOL with Microsoft/MicroFocus COBOL}, + year = {1990}, + isbn = {0471514071}, + publisher = {John Wiley \& Sons, Inc.}, + address = {New York, NY, USA}, +} + +% Let's include Boris / BBeeton entries (multi-volume works) + +@book {MR781537, + AUTHOR = {H{\"o}rmander, Lars}, + TITLE = {The analysis of linear partial differential operators. {III}}, + SERIES = {Grundlehren der Mathematischen Wissenschaften [Fundamental + Principles of Mathematical Sciences]}, + VOLUME = {275}, + NOTE = {Pseudodifferential operators}, +PUBLISHER = {Springer-Verlag}, + ADDRESS = {Berlin, Germany}, + YEAR = {1985}, + PAGES = {viii+525}, + ISBN = {3-540-13828-5}, + MRCLASS = {35-02 (35Sxx 47G05 58G15)}, + MRNUMBER = {781536 (87d:35002a)}, +MRREVIEWER = {Min You Qi}, +} + +@book {MR781536, + AUTHOR = {H{\"o}rmander, Lars}, + TITLE = {The analysis of linear partial differential operators. {IV}}, + SERIES = {Grundlehren der Mathematischen Wissenschaften [Fundamental + Principles of Mathematical Sciences]}, + VOLUME = {275}, + NOTE = {Fourier integral operators}, +PUBLISHER = {Springer-Verlag}, + ADDRESS = {Berlin, Germany}, + YEAR = {1985}, + PAGES = {vii+352}, + ISBN = {3-540-13829-3}, + MRCLASS = {35-02 (35Sxx 47G05 58G15)}, + MRNUMBER = {781537 (87d:35002b)}, +MRREVIEWER = {Min You Qi}, +} + +%%%%%%%%%%%%%%%%%%%%%% Start of Aptara sample bib entries + +% acmsmall-sam.bib +@InProceedings{Adya-01, + author = {A. Adya and P. Bahl and J. Padhye and A.Wolman and L. Zhou}, + title = {A multi-radio unification protocol for {IEEE} 802.11 wireless networks}, + booktitle = {Proceedings of the IEEE 1st International Conference on Broadnets Networks (BroadNets'04)}, + publisher = "IEEE", + address = "Los Alamitos, CA", + year = {2004}, + pages = "210--217" +} + +@article{Akyildiz-01, + author = {I. F. Akyildiz and W. Su and Y. Sankarasubramaniam and E. Cayirci}, + title = {Wireless Sensor Networks: A Survey}, + journal = {Comm. ACM}, + volume = 38, + number = "4", + year = {2002}, + pages = "393--422" +} + +@article{Akyildiz-02, + author = {I. F. Akyildiz and T. Melodia and K. R. Chowdhury}, + title = {A Survey on Wireless Multimedia Sensor Networks}, + journal = {Computer Netw.}, + volume = 51, + number = "4", + year = {2007}, + pages = "921--960" +} + +@InProceedings{Bahl-02, + author = {P. Bahl and R. Chancre and J. Dungeon}, + title = {{SSCH}: Slotted Seeded Channel Hopping for Capacity Improvement in {IEEE} 802.11 Ad-Hoc Wireless Networks}, + booktitle = {Proceeding of the 10th International Conference on Mobile Computing and Networking (MobiCom'04)}, + publisher = "ACM", + address = "New York, NY", + year = {2004}, + pages = "112--117" +} + +@misc{CROSSBOW, + key = {CROSSBOW}, + title = {{XBOW} Sensor Motes Specifications}, + note = {http://www.xbow.com}, + year = 2008 +} + +@article{Culler-01, + author = {D. Culler and D. Estrin and M. Srivastava}, + title = {Overview of Sensor Networks}, + journal = {IEEE Comput.}, + volume = 37, + number = "8 (Special Issue on Sensor Networks)", + publisher = "IEEE", + address = "Los Alamitos, CA", + year = {2004}, + pages = "41--49" +} + +@misc{Harvard-01, + key = {Harvard CodeBlue}, + title = {{CodeBlue}: Sensor Networks for Medical Care}, + note = {http://www.eecs.harvard.edu/mdw/ proj/codeblue/}, + year = 2008 +} + +@InProceedings{Natarajan-01, + author = {A. Natarajan and M. Motani and B. de Silva and K. Yap and K. C. Chua}, + title = {Investigating Network Architectures for Body Sensor Networks}, + booktitle = {Network Architectures}, + editor = {G. Whitcomb and P. Neece}, + publisher = "Keleuven Press", + address = "Dayton, OH", + year = {2007}, + pages = "322--328" +} + +@techreport{Tzamaloukas-01, + author = {A. Tzamaloukas and J. J. Garcia-Luna-Aceves}, + title = {Channel-Hopping Multiple Access}, + number = {I-CA2301}, + institution = {Department of Computer Science, University of California}, + address = {Berkeley, CA}, + year = {2000} +} + +@BOOK{Zhou-06, + author = {G. Zhou and J. Lu and C.-Y. Wan and M. D. Yarvis and J. A. Stankovic}, + title = {Body Sensor Networks}, + publisher = "MIT Press", + address = "Cambridge, MA", + year = {2008} +} + +@mastersthesis{ko94, +author = "Jacob Kornerup", +title = "Mapping Powerlists onto Hypercubes", +school = "The University of Texas at Austin", +note = "(In preparation)", +year = "1994"} +%month = "dec",} + +@PhdThesis{gerndt:89, + author = "Michael Gerndt", + title = "Automatic Parallelization for Distributed-Memory + Multiprocessing Systems", + school = "University of Bonn", + year = 1989, + address = "Bonn, Germany", + month = dec +} + +@article{6:1:1, +author = "J. E. {Archer, Jr.} and R. Conway and F. B. Schneider", +title = "User recovery and reversal in interactive systems", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "6", +number = "1", +month = jan, +year = 1984, +pages = "1--19"} + +@article{7:1:137, +author = "D. D. Dunlop and V. R. Basili", +title = "Generalizing specifications for uniformly implemented loops", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "7", +number = "1", +month = jan, +year = 1985, +pages = "137--158"} + +@article{7:2:183, +author = "J. Heering and P. Klint", +title = "Towards monolingual programming environments", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "7", +number = "2", +month = apr, +year = 1985, +pages = "183--213"} + +@book{knuth:texbook, +author = "Donald E. Knuth", +title = "The {\TeX{}book}", +publisher = "Addison-Wesley", +address = "Reading, MA.", +year = 1984} + +@article{6:3:380, +author = "E. Korach and D. Rotem and N. Santoro", +title = "Distributed algorithms for finding centers and medians in networks", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "6", +number = "3", +month = jul, +year = 1984, +pages = "380--401"} + +@book{lamport:latex, +author = "Leslie Lamport", +title = "\it {\LaTeX}: A Document Preparation System", +publisher = "Addison-Wesley", +address = "Reading, MA.", +year = 1986} + +@article{7:3:359, +author = "F. Nielson", +title = "Program transformations in a denotational setting", +journal = "ACM Trans. Program. Lang. Syst.", +volume = "7", +number = "3", +month = jul, +year = 1985, +pages = "359--379"} + +%testing +@BOOK{test, + author = "Donald E. Knuth", + title = "Seminumerical Algorithms", + volume = 2, + series = "The Art of Computer Programming", + publisher = "Addison-Wesley", + address = "Reading, MA", + edition = "2nd", + month = "10~" # jan, + year = "1981", +} + +@inproceedings{reid:scribe, +author = "Brian K. Reid", +title = "A high-level approach to computer document formatting", +booktitle = "Proceedings of the 7th Annual Symposium on Principles of + Programming Languages", +month = jan, +year = 1980, +publisher = "ACM", +address = "New York", +pages = "24--31"} + +@article{Zhou:2010:MMS:1721695.1721705, + author = {Zhou, Gang and Wu, Yafeng and Yan, Ting and He, Tian and Huang, Chengdu and Stankovic, John A. and Abdelzaher, Tarek F.}, + title = {A multifrequency MAC specially designed for wireless sensor network applications}, + journal = {ACM Trans. Embed. Comput. Syst.}, + issue_date = {March 2010}, + volume = {9}, + number = {4}, + month = {April}, + year = {2010}, + issn = {1539-9087}, + pages = {39:1--39:41}, + articleno = {39}, + numpages = {41}, + url = {http://doi.acm.org/10.1145/1721695.1721705}, + doi = {10.1145/1721695.1721705}, + acmid = {1721705}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {Wireless sensor networks, media access control, multi-channel, radio interference, time synchronization}, +} diff --git a/Master/texmf-dist/doc/latex/acmart/sample-colort.pdf b/Master/texmf-dist/doc/latex/acmart/sample-colort.pdf Binary files differnew file mode 100644 index 00000000000..57951b1280e --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-colort.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf b/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf Binary files differnew file mode 100644 index 00000000000..027cfacfef7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-manuscript.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sample-manuscript.tex b/Master/texmf-dist/doc/latex/acmart/sample-manuscript.tex new file mode 100644 index 00000000000..9df5e5fc894 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-manuscript.tex @@ -0,0 +1,143 @@ +\listfiles +\documentclass[manuscript, review, screen, natbib]{acmart} +\setcitestyle{super,sort&compress} +\usepackage{booktabs} % For formal tables + +\usepackage[ruled]{algorithm2e} % For algorithms + +% Metadata Information +\acmJournal{CIE} +\acmVolume{9} +\acmNumber{4} +\acmArticle{39} +\acmYear{2010} +\acmMonth{3} + +%\acmBadgeL[http://ctuning.org/ae/ppopp2016.html]{ae-logo} +\acmBadgeR[http://ctuning.org/ae/ppopp2016.html]{ae-logo} + +% Copyright +\setcopyright{acmcopyright} +%\setcopyright{acmlicensed} +%\setcopyright{rightsretained} +%\setcopyright{usgov} +%\setcopyright{usgovmixed} +%\setcopyright{cagov} +%\setcopyright{cagovmixed} + +% DOI +\acmDOI{0000001.0000001} + + +% Document starts +\begin{document} +% Title portion +\title{A Multifrequency MAC Specially Designed for Wireless Sensor + Network Applications} + \titlenote{This is a titlenote} +% \subtitle{This is a subtitle} +% \subtitlenote{Subtitle note} +\author{Gang Zhou} +% \authornote{The corresponding author} +\email{zhou@uva.edu} +\author{Yafeng Wu} +\email{ywu@uva.edu} +\affiliation{University of Virginia} +\author{Ting Yan} +\affiliation{Eaton Innovation Center} +\author{Tian He} +\affiliation{University of Minnesota} +\author{Chengdu Huang} +\affiliation{Google} +\author{John A. Stankovic} +\affiliation{University of Virginia} +\author{Tarek F. Abdelzaher} +\affiliation{University of Illinois at Urbana-Champaign} +\affiliation{University of Virginia} + +\begin{abstract} +Multifrequency media access control has been well understood in +general wireless ad hoc networks, while in wireless sensor networks, +researchers still focus on single frequency solutions. In wireless +sensor networks, each device is typically equipped with a single +radio transceiver and applications adopt much smaller packet sizes +compared to those in general wireless ad hoc networks. Hence, the +multifrequency MAC protocols proposed for general wireless ad hoc +networks are not suitable for wireless sensor network applications, +which we further demonstrate through our simulation experiments. In +this article, we propose MMSN, which takes advantage of +multifrequency availability while, at the same time, takes into +consideration the restrictions of wireless sensor networks. Through +extensive experiments, MMSN exhibits the prominent ability to utilize +parallel transmissions among neighboring nodes. When multiple physical +frequencies are available, it also achieves increased energy +efficiency, demonstrating the ability to work against radio +interference and the tolerance to a wide range of measured time +synchronization errors\footnote{This is an abstract footnote}. +\end{abstract} + + +% +% The code below should be generated by the tool at +% http://dl.acm.org/ccs.cfm +% Please copy and paste the code instead of the example below. +% +\begin{CCSXML} +<ccs2012> + <concept> + <concept_id>10010520.10010553.10010562</concept_id> + <concept_desc>Computer systems organization~Embedded systems</concept_desc> + <concept_significance>500</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010575.10010755</concept_id> + <concept_desc>Computer systems organization~Redundancy</concept_desc> + <concept_significance>300</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010553.10010554</concept_id> + <concept_desc>Computer systems organization~Robotics</concept_desc> + <concept_significance>100</concept_significance> + </concept> + <concept> + <concept_id>10003033.10003083.10003095</concept_id> + <concept_desc>Networks~Network reliability</concept_desc> + <concept_significance>100</concept_significance> + </concept> +</ccs2012> +\end{CCSXML} + +\ccsdesc[500]{Computer systems organization~Embedded systems} +\ccsdesc[300]{Computer systems organization~Redundancy} +\ccsdesc{Computer systems organization~Robotics} +\ccsdesc[100]{Networks~Network reliability} + +% +% End generated code +% + +% We no longer use \terms command +\terms{Design, Algorithms, Performance} + +\keywords{Wireless sensor networks, media access control, +multi-channel, radio interference, time synchronization} + + +\thanks{This work is supported by the National Science Foundation, + under grant CNS-0435060, grant CCR-0325197 and grant EN-CS-0329609. + + Author's addresses: G. Zhou, Computer Science Department, College of + William and Mary; Y. Wu {and} J. A. Stankovic, Computer Science + Department, University of Virginia; T. Yan, Eaton Innovation Center; + T. He, Computer Science Department, University of Minnesota; C. + Huang, Google; T. F. Abdelzaher, (Current address) NASA Ames + Research Center, Moffett Field, California 94035.} + + +\maketitle + + +\input{samplebody-journals} + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf Binary files differnew file mode 100644 index 00000000000..9a4af74ed7c --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.tex b/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.tex new file mode 100644 index 00000000000..f35d24ddc28 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-sigchi-a.tex @@ -0,0 +1,430 @@ +\documentclass[sigchi-a, authorversion]{acmart} +\usepackage{booktabs} % For formal tables +\usepackage{ccicons} % For Creative Commons citation icons + +% Copyright +%\setcopyright{none} +\setcopyright{acmcopyright} +%\setcopyright{acmlicensed} +%\setcopyright{rightsretained} +%\setcopyright{usgov} +%\setcopyright{usgovmixed} +%\setcopyright{cagov} +%\setcopyright{cagovmixed} + + +% DOI +\acmDOI{10.475/123_4} + +% ISBN +\acmISBN{123-4567-24-567/08/06} + +%Conference +\acmConference[WOODSTOCK'97]{ACM Woodstock conference}{July 1997}{El + Paso, Texas USA} +\acmYear{1997} +\copyrightyear{2016} + +\acmPrice{15.00} + +%\acmBadgeL[http://ctuning.org/ae/ppopp2016.html]{ae-logo} +\acmBadgeR[http://ctuning.org/ae/ppopp2016.html]{ae-logo} + +\begin{document} +\title{SIGCHI Extended Abstracts Sample File} + +\author{First Author} +\affiliation{University of Author\\ + Authortown, CA 94022, USA} +\email{author1@anotherco.edu} + +\author{Second Author} +\affiliation{VP, Authoring\\ + Authorship Holdings, Ltd.\\ + Awdur SA22 8PP, UK} +\email{author2@author.ac.uk} + +\author{Third Author \\ + Fourth Author} +\affiliation{L\={e}khaka Labs\\ + Bengaluru 560 080, India} +\email{author3@another.com} +\email{author4@another.com} + +\author{Fifth Author} +\affiliation{YetAuthorCo, Inc.\\ + Authortown, BC V6M 22P Canada} +\email{author5@anotherco.com} + +\author{Sixth Author} +\affiliation{Universit\'e de Auteur-Sud\\ + 40222 Auteur France} +\email{author6@author.fr} + +\author{Seventh Author} +\affiliation{University of Umbhali\\ + Pretoria, South Africa} +\email{author7@umbhaliu.ac.za} + +% +% The code below should be generated by the tool at +% http://dl.acm.org/ccs.cfm +% Please copy and paste the code instead of the example below. +% +\begin{CCSXML} +<ccs2012> + <concept> + <concept_id>10010520.10010553.10010562</concept_id> + <concept_desc>Computer systems organization~Embedded systems</concept_desc> + <concept_significance>500</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010575.10010755</concept_id> + <concept_desc>Computer systems organization~Redundancy</concept_desc> + <concept_significance>300</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010553.10010554</concept_id> + <concept_desc>Computer systems organization~Robotics</concept_desc> + <concept_significance>100</concept_significance> + </concept> + <concept> + <concept_id>10003033.10003083.10003095</concept_id> + <concept_desc>Networks~Network reliability</concept_desc> + <concept_significance>100</concept_significance> + </concept> +</ccs2012> +\end{CCSXML} + +\ccsdesc[500]{Computer systems organization~Embedded systems} +\ccsdesc[300]{Computer systems organization~Redundancy} +\ccsdesc{Computer systems organization~Robotics} +\ccsdesc[100]{Networks~Network reliability} + +% We no longer use \terms command +%\terms{Theory} + +\begin{abstract} + UPDATED---\today. This sample paper describes the formatting + requirements for SIGCHI Extended Abstract Format, and this sample + file offers recommendations on writing for the worldwide SIGCHI + readership. Please review this document even if you have submitted + to SIGCHI conferences before, as some format details have changed + relative to previous years. Abstracts should be about 150 + words. Required. +\end{abstract} + + +\keywords{Authors' choice; of terms; separated; by + semicolons; include commas, within terms only; required.} + + + +\maketitle + +\begin{sidebar} + \textbf{Good Utilization of the Side Bar} + + \textbf{Preparation:} Do not change the margin + dimensions and do not flow the margin text to the + next page. + + \textbf{Materials:} The margin box must not intrude + or overflow into the header or the footer, or the gutter space + between the margin paragraph and the main left column. + + \textbf{Images \& Figures:} Practically anything + can be put in the margin if it fits. Use the + \texttt{{\textbackslash}marginparwidth} constant to set the + width of the figure, table, minipage, or whatever you are trying + to fit in this skinny space. + + \caption{This is the optional caption} + \label{bar:sidebar} +\end{sidebar} + +\begin{figure} + \centering + \includegraphics[width=\marginparwidth]{sigchi-logo} + \caption{Insert a caption below each figure.} + \label{fig:sample} +\end{figure} + + +\section{Introduction} +This format is to be used for submissions that are published in the +conference publications. We wish to give this volume a consistent, +high-quality appearance. We therefore ask that authors follow some +simple guidelines. In essence, you should format your paper exactly +like this document. The easiest way to do this is to replace the +content with your own material. + + +\section{ACM Copyrights \& Permission} +Accepted extended abstracts and papers will be distributed in the +Conference Publications. They will also be placed in the ACM Digital +Library, where they will remain accessible to thousands of researchers +and practitioners worldwide. To view the ACM's copyright and +permissions policy, see: +\url{http://www.acm.org/publications/policies/copyright_policy}. + + +\section{Page Size} +All SIGCHI submissions should be US letter (8.5 $\times$ 11 +inches). US Letter is the standard option used by this \LaTeX\ +template. + +\section{Text Formatting} +Please use an 8.5-point Verdana font, or other sans serifs font as +close as possible in appearance to Verdana in which these guidelines +have been set. Arial 9-point font is a reasonable substitute for +Verdana as it has a similar x-height. Please use serif or +non-proportional fonts only for special purposes, such as +distinguishing \texttt{source code} text. + +\subsubsection{Text styles} +The \LaTeX\ template facilitates text formatting for normal (for body +text); heading 1, heading 2, heading 3; bullet list; numbered list; +caption; annotation (for notes in the narrow left margin); and +references (for bibliographic entries). Additionally, here is an +example of footnoted\footnote{Use footnotes sparingly, if at all.} +text. As stated in the footnote, footnotes should rarely be used. + +\begin{table} + \centering + \caption{Table captions should be placed above the table. We + recommend table lines be 1 point, 25\% black. Minimize use of + table grid lines.} + \label{tab:table1} + \begin{tabular}{l r r r} +% \toprule + & & \multicolumn{2}{c}{\small{\textbf{Test Conditions}}} \\ + \cmidrule(r){3-4} + {\small\textit{Name}} + & {\small \textit{First}} + & {\small \textit{Second}} + & {\small \textit{Final}} \\ + \midrule + Marsden & 223.0 & 44 & 432,321 \\ + Nass & 22.2 & 16 & 234,333 \\ + Borriello & 22.9 & 11 & 93,123 \\ + Karat & 34.9 & 2200 & 103,322 \\ + \bottomrule + \end{tabular} +\end{table} + + +\subsection{Language, style, and content} +The written and spoken language of SIGCHI is English. Spelling and +punctuation may use any dialect of English (e.g., British, Canadian, +US, etc.) provided this is done consistently. Hyphenation is +optional. To ensure suitability for an international audience, please +pay attention to the following: +\begin{itemize} +\item Write in a straightforward style. Use simple sentence + structure. Try to avoid long sentences and complex sentence + structures. Use semicolons carefully. +\item Use common and basic vocabulary (e.g., use the word ``unusual'' + rather than the word ``arcane''). +\item Briefly define or explain all technical terms. The terminology + common to your practice/discipline may be different in other design + practices/disciplines. +\item Spell out all acronyms the first time they are used in your + text. For example, ``World Wide Web (WWW)''. +\item Explain local references (e.g., not everyone knows all city + names in a particular country). +\item Explain ``insider'' comments. Ensure that your whole audience + understands any reference whose meaning you do not describe (e.g., + do not assume that everyone has used a Macintosh or a particular + application). +\item Explain colloquial language and puns. Understanding phrases like + ``red herring'' requires a cultural knowledge of English. Humor and + irony are difficult to translate. +\item Use unambiguous forms for culturally localized concepts, such as + times, dates, currencies, and numbers (e.g., ``1-5- 97'' or + ``5/1/97'' may mean 5 January or 1 May, and ``seven o'clock'' may + mean 7:00 am or 19:00). For currencies, indicate equivalences: + ``Participants were paid {\fontfamily{txr}\selectfont \textwon} + 25,000, or roughly US \$22.'' +\item Be careful with the use of gender-specific pronouns (he, she) + and other gender-specific words (chairman, manpower, + man-months). Use inclusive language (e.g., she or he, they, chair, + staff, staff-hours, person-years) that is gender-neutral. If + necessary, you may be able to use ``he'' and ``she'' in alternating + sentences, so that the two genders occur equally + often~\cite{Schwartz:1995:GBF}. +\item If possible, use the full (extended) alphabetic character set + for names of persons, institutions, and places (e.g., + Gr{\o}nb{\ae}k, Lafreni\'ere, S\'anchez, Nguy{\~{\^{e}}}n, + Universit{\"a}t, Wei{\ss}enbach, Z{\"u}llighoven, \r{A}rhus, etc.). + These characters are already included in most versions and variants + of Times, Helvetica, and Arial fonts. +\end{itemize} + + +\begin{marginfigure} + \centering + \includegraphics[width=\marginparwidth]{cats} + \caption{In this image, the cats are tessellated within a square + frame. Images should also have captions and be within the + boundaries of the sidebar on page~\pageref{bar:sidebar}. Photo: + \cczero~jofish on Flickr.} + \label{fig:marginfig} +\end{marginfigure} + +\section{Figures} +The examples on this and following pages should help you get a feel +for how screen-shots and other figures should be placed in the +template. Your document may use color figures (see +Figures~\ref{fig:sample}), which are included in the page limit; the +figures must be usable when printed in black and white. You can use +the \texttt{marginfigure} environment to insert figures in the (left) margin +of the document (see Figure~\ref{fig:marginfig}). Finally, be sure to +make images large enough so the important details are legible and +clear (see Figure~\ref{fig:cats}). + +\begin{figure*} + \includegraphics[width=\fulltextwidth]{map} + \caption{In this image, the map maximizes use of space. + Note that \LaTeX\ tends to render large figures on a + dedicated page. Image: \ccbynd~ayman on Flickr.}~\label{fig:cats} +\end{figure*} + + +\section{Tables} + + +\begin{margintable} + \centering + \caption{A simple narrow table in the left margin + space.} + \label{tab:table2} + \begin{tabular}{r r l} + & {\small \textbf{First}} + & {\small \textbf{Location}} \\ + \toprule + Child & 22.5 & Melbourne \\ + Adult & 22.0 & Bogot\'a \\ + \midrule + Gene & 22.0 & Palo Alto \\ + John & 34.5 & Minneapolis \\ + \bottomrule + \end{tabular} +\end{margintable} + +You man use tables inline with the text (see Table~\ref{tab:table1}) +or within the margin as shown in Table~\ref{tab:table2}. Try to +minimize the use of lines (especially vertical lines). \LaTeX\ will +set the table font and captions sizes correctly; the latter must +remain unchanged. + +\section{Accessibility} +The Executive Council of SIGCHI has committed to making SIGCHI +conferences more inclusive for researchers, practitioners, and +educators with disabilities. As a part of this goal, the all authors +are asked to work on improving the accessibility of their +submissions. Specifically, we encourage authors to carry out the +following five steps: +\begin{itemize} +\item Add alternative text to all figures +\item Mark table headings +\item Generate a tagged PDF +\item Verify the default language +\item Set the tab order to ``Use Document Structure'' +\end{itemize} + +For links to instructions and resources, please see: +\url{http://chi2016.acm.org/accessibility} + +Unfortunately good tools do not yet exist to create tagged PDF files +from Latex (see the ongoing effort at +\url{http://tug.org/twg/accessibility/}). \LaTeX\ users will need to +carry out all of the above steps in the PDF directly using Adobe +Acrobat, after the PDF has been generated. + +For more information and links to instructions and resources, please +see: +\url{http://chi2016.acm.org/accessibility} and +\url{http://tug.org/twg/accessibility/}. + + +\section{Producing and Testing PDF Files} + +We recommend that you produce a PDF version of your submission well +before the final deadline. Your PDF file must be ACM DL Compliant and +meet stated requirements, +\url{http://www.sheridanprinting.com/sigchi/ACM-SIG-distilling-settings.htm}. + +\begin{sidebar} + So long as you don't type outside the right + margin or bleed into the gutter, it's okay to put annotations over + here on the left. You may need to have + to manually align the margin paragraphs to your \LaTeX\ floats using + the \texttt{{\textbackslash}vspace{}} command. +\end{sidebar} + + +Test your PDF file by viewing or printing it with the same software we +will use when we receive it, Adobe Acrobat Reader Version 10. This is +widely available at no cost. Note that most reviewers will use a North +American/European version of Acrobat reader, so please check your PDF +accordingly. + +\section{Acknowledgements} + +We thank all the volunteers, publications support, staff, and authors +who wrote and provided helpful comments on previous versions of this +document. As well authors 1, 2, and 3 gratefully acknowledge the grant +from NSF (\#1234--2222--ABC). Author 4 for example may want to +acknowledge a supervisor/manager from their original employer. This +whole paragraph is just for example. Some of the references cited in +this paper are included for illustrative purposes only. + +\section{References Format} + +Your references should be published materials accessible to the +public. Internal technical reports may be cited only if they are +easily accessible and may be obtained by any reader for a nominal fee. +Proprietary information may not be cited. Private communications +should be acknowledged in the main text, not referenced (e.g., +[Golovchinsky, personal communication]). References must be the same +font size as other body text. References should be in alphabetical +order by last name of first author. Use a numbered list of references +at the end of the article, ordered alphabetically by last name of +first author, and referenced by numbers in brackets. For papers from +conference proceedings, include the title of the paper and the name of +the conference. Do not include the location of the conference or the +exact date; do include the page numbers if available. + +References should be in ACM citation format: +\url{http://www.acm.org/publications/submissions/latex_style}. This +includes citations to Internet +resources~\cite{CHINOSAUR:venue,cavender:writing,psy:gangnam} +according to ACM format, although it is often appropriate to include +URLs directly in the text, as above. Example reference formatting for +individual journal articles~\cite{ethics}, articles in conference +proceedings~\cite{Klemmer:2002:WSC:503376.503378}, +books~\cite{Schwartz:1995:GBF}, theses~\cite{sutherland:sketchpad}, +book chapters~\cite{winner:politics}, an entire journal +issue~\cite{kaye:puc}, +websites~\cite{acm_categories,cavender:writing}, +tweets~\cite{CHINOSAUR:venue}, patents~\cite{heilig:sensorama}, +games~\cite{supermetroid:snes}, and +online videos~\cite{psy:gangnam} is given here. See the examples of +citations at the end of this document and in the accompanying +\texttt{BibTeX} document. This formatting is a edited version of the +format automatically generated by the ACM Digital Library +(\url{http://dl.acm.org}) as ``ACM Ref''. DOI and/or URL links are +optional but encouraged as are full first names. Note that the +Hyperlink style used throughout this document uses blue links; +however, URLs in the references section may optionally appear in +black. + + + + + +\bibliography{sigchi-a} +\bibliographystyle{SIGCHI-Reference-Format} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf Binary files differnew file mode 100644 index 00000000000..be1bc34531d --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-sigchi.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigchi.tex b/Master/texmf-dist/doc/latex/acmart/sample-sigchi.tex new file mode 100644 index 00000000000..ee44e606e10 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-sigchi.tex @@ -0,0 +1,147 @@ +\documentclass[sigchi, review]{acmart} + +\usepackage{booktabs} % For formal tables + + +% Copyright +%\setcopyright{none} +%\setcopyright{acmcopyright} +%\setcopyright{acmlicensed} +\setcopyright{rightsretained} +%\setcopyright{usgov} +%\setcopyright{usgovmixed} +%\setcopyright{cagov} +%\setcopyright{cagovmixed} + + +% DOI +\acmDOI{10.475/123_4} + +% ISBN +\acmISBN{123-4567-24-567/08/06} + +%Conference +\acmConference[WOODSTOCK'97]{ACM Woodstock conference}{July 1997}{El + Paso, Texas USA} +\acmYear{1997} +\copyrightyear{2016} + +\acmPrice{15.00} + + +\begin{document} +\title{SIG Proceedings Paper in LaTeX Format} +\titlenote{Produces the permission block, and + copyright information} +\subtitle{Extended Abstract} +\subtitlenote{The full version of the author's guide is available as + \texttt{acmart.pdf} document} + +\author{Ben Trovato} +\authornote{Dr.~Trovato insisted his name be first.} +\affiliation{Institute for Clarity in Documentation\\ + P.O. Box 1212\\ + Dublin, Ohio 43017-6221} +\email{trovato@corporation.com} + +\author{G.K.M. Tobin} +\authornote{The secretary disavows any knowledge of this author's actions.} +\affiliation{Institute for Clarity in Documentation\\ + P.O. Box 1212\\ + Dublin, Ohio 43017-6221} +\email{webmaster@marysville-ohio.com} + +\author{Lars Th{\o}rv{\"a}ld} +\authornote{This author is the + one who did all the really hard work.} +\affiliation{The Th{\o}rv{\"a}ld Group\\ + 1 Th{\o}rv{\"a}ld Circle\\ + Hekla, Iceland} +\email{larst@affiliation.org} + +\author{Lawrence P. Leipuner} +\affiliation{Brookhaven Laboratories\\ + P.O. Box 5000} +\email{lleipuner@researchlabs.org} + +\author{Sean Fogarty} +\affiliation{NASA Ames Research Center\\ + Moffett Field\\ + California 94035} +\email{fogartys@amesres.org} + +\author{Charles Palmer} +\affiliation{Palmer Research Laboratories\\ + 8600 Datapoint Drive\\ + San Antonio, Texas 78229} +\email{cpalmer@prl.com} + +\author{John Smith} +\affiliation{The Th{\o}rv{\"a}ld Group} +\email{jsmith@affiliation.org} + +\author{Julius P.~Kumquat} +\affiliation{The Kumquat Consortium} +\email{jpkumquat@consortium.net} + +\begin{abstract} +This paper provides a sample of a \LaTeX\ document which conforms, +somewhat loosely, to the formatting guidelines for +ACM SIG Proceedings. +\end{abstract} + +% +% The code below should be generated by the tool at +% http://dl.acm.org/ccs.cfm +% Please copy and paste the code instead of the example below. +% +\begin{CCSXML} +<ccs2012> + <concept> + <concept_id>10010520.10010553.10010562</concept_id> + <concept_desc>Computer systems organization~Embedded systems</concept_desc> + <concept_significance>500</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010575.10010755</concept_id> + <concept_desc>Computer systems organization~Redundancy</concept_desc> + <concept_significance>300</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010553.10010554</concept_id> + <concept_desc>Computer systems organization~Robotics</concept_desc> + <concept_significance>100</concept_significance> + </concept> + <concept> + <concept_id>10003033.10003083.10003095</concept_id> + <concept_desc>Networks~Network reliability</concept_desc> + <concept_significance>100</concept_significance> + </concept> +</ccs2012> +\end{CCSXML} + +\ccsdesc[500]{Computer systems organization~Embedded systems} +\ccsdesc[300]{Computer systems organization~Redundancy} +\ccsdesc{Computer systems organization~Robotics} +\ccsdesc[100]{Networks~Network reliability} + +% We no longer use \terms command +%\terms{Theory} + +\keywords{ACM proceedings, \LaTeX, text tagging} + +\begin{teaserfigure} + \includegraphics[width=\textwidth]{sampleteaser} + \caption{This is a teaser} + \label{fig:teaser} +\end{teaserfigure} + + +\maketitle + +\input{samplebody-conf} + +\bibliographystyle{SIGCHI-Reference-Format} +\bibliography{sigproc} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf Binary files differnew file mode 100644 index 00000000000..7b71db9ba34 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-sigconf.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigconf.tex b/Master/texmf-dist/doc/latex/acmart/sample-sigconf.tex new file mode 100644 index 00000000000..30e1b52e04e --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-sigconf.tex @@ -0,0 +1,141 @@ +\documentclass[sigconf]{acmart} + +\usepackage{booktabs} % For formal tables + + +% Copyright +%\setcopyright{none} +%\setcopyright{acmcopyright} +%\setcopyright{acmlicensed} +\setcopyright{rightsretained} +%\setcopyright{usgov} +%\setcopyright{usgovmixed} +%\setcopyright{cagov} +%\setcopyright{cagovmixed} + + +% DOI +\acmDOI{10.475/123_4} + +% ISBN +\acmISBN{123-4567-24-567/08/06} + +%Conference +\acmConference[WOODSTOCK'97]{ACM Woodstock conference}{July 1997}{El + Paso, Texas USA} +\acmYear{1997} +\copyrightyear{2016} + +\acmPrice{15.00} + + +\begin{document} +\title{SIG Proceedings Paper in LaTeX Format} +\titlenote{Produces the permission block, and + copyright information} +\subtitle{Extended Abstract} +\subtitlenote{The full version of the author's guide is available as + \texttt{acmart.pdf} document} + +\author{Ben Trovato} +\authornote{Dr.~Trovato insisted his name be first.} +\affiliation{Institute for Clarity in Documentation\\ + P.O. Box 1212\\ + Dublin, Ohio 43017-6221} +\email{trovato@corporation.com} + +\author{G.K.M. Tobin} +\authornote{The secretary disavows any knowledge of this author's actions.} +\affiliation{Institute for Clarity in Documentation\\ + P.O. Box 1212\\ + Dublin, Ohio 43017-6221} +\email{webmaster@marysville-ohio.com} + +\author{Lars Th{\o}rv{\"a}ld} +\authornote{This author is the + one who did all the really hard work.} +\affiliation{The Th{\o}rv{\"a}ld Group\\ + 1 Th{\o}rv{\"a}ld Circle\\ + Hekla, Iceland} +\email{larst@affiliation.org} + +\author{Lawrence P. Leipuner} +\affiliation{Brookhaven Laboratories\\ + P.O. Box 5000} +\email{lleipuner@researchlabs.org} + +\author{Sean Fogarty} +\affiliation{NASA Ames Research Center\\ + Moffett Field\\ + California 94035} +\email{fogartys@amesres.org} + +\author{Charles Palmer} +\affiliation{Palmer Research Laboratories\\ + 8600 Datapoint Drive\\ + San Antonio, Texas 78229} +\email{cpalmer@prl.com} + +\author{John Smith} +\affiliation{The Th{\o}rv{\"a}ld Group} +\email{jsmith@affiliation.org} + +\author{Julius P.~Kumquat} +\affiliation{The Kumquat Consortium} +\email{jpkumquat@consortium.net} + +\begin{abstract} +This paper provides a sample of a \LaTeX\ document which conforms, +somewhat loosely, to the formatting guidelines for +ACM SIG Proceedings\footnote{This is an abstract footnote}. +\end{abstract} + +% +% The code below should be generated by the tool at +% http://dl.acm.org/ccs.cfm +% Please copy and paste the code instead of the example below. +% +\begin{CCSXML} +<ccs2012> + <concept> + <concept_id>10010520.10010553.10010562</concept_id> + <concept_desc>Computer systems organization~Embedded systems</concept_desc> + <concept_significance>500</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010575.10010755</concept_id> + <concept_desc>Computer systems organization~Redundancy</concept_desc> + <concept_significance>300</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010553.10010554</concept_id> + <concept_desc>Computer systems organization~Robotics</concept_desc> + <concept_significance>100</concept_significance> + </concept> + <concept> + <concept_id>10003033.10003083.10003095</concept_id> + <concept_desc>Networks~Network reliability</concept_desc> + <concept_significance>100</concept_significance> + </concept> +</ccs2012> +\end{CCSXML} + +\ccsdesc[500]{Computer systems organization~Embedded systems} +\ccsdesc[300]{Computer systems organization~Redundancy} +\ccsdesc{Computer systems organization~Robotics} +\ccsdesc[100]{Networks~Network reliability} + +% We no longer use \terms command +%\terms{Theory} + +\keywords{ACM proceedings, \LaTeX, text tagging} + + +\maketitle + +\input{samplebody-conf} + +\bibliographystyle{acm-abbrv} +\bibliography{sigproc} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/acmart/sample-siggraph.pdf b/Master/texmf-dist/doc/latex/acmart/sample-siggraph.pdf Binary files differnew file mode 100644 index 00000000000..442f627ddde --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-siggraph.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sample-siggraph.tex b/Master/texmf-dist/doc/latex/acmart/sample-siggraph.tex new file mode 100644 index 00000000000..47979a329fa --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-siggraph.tex @@ -0,0 +1,147 @@ +\documentclass[siggraph, natbib=false, review=false]{acmart} + +\usepackage{booktabs} % For formal tables + + +% Copyright +%\setcopyright{none} +%\setcopyright{acmcopyright} +%\setcopyright{acmlicensed} +\setcopyright{rightsretained} +%\setcopyright{usgov} +%\setcopyright{usgovmixed} +%\setcopyright{cagov} +%\setcopyright{cagovmixed} + + +% DOI +\acmDOI{10.475/123_4} + +% ISBN +\acmISBN{123-4567-24-567/08/06} + +%Conference +\acmConference[WOODSTOCK'97]{ACM Woodstock conference}{July 1997}{El + Paso, Texas USA} +\acmYear{1997} +\copyrightyear{2016} + +\acmPrice{15.00} + + +\begin{document} +\title{SIG Proceedings Paper in LaTeX Format} +\titlenote{Produces the permission block, and + copyright information} +\subtitle{Extended Abstract} +\subtitlenote{The full version of the author's guide is available as + \texttt{acmart.pdf} document} + +\author{Ben Trovato} +\authornote{Dr.~Trovato insisted his name be first.} +\affiliation{Institute for Clarity in Documentation\\ + P.O. Box 1212\\ + Dublin, Ohio 43017-6221} +\email{trovato@corporation.com} + +\author{G.K.M. Tobin} +\authornote{The secretary disavows any knowledge of this author's actions.} +\affiliation{Institute for Clarity in Documentation\\ + P.O. Box 1212\\ + Dublin, Ohio 43017-6221} +\email{webmaster@marysville-ohio.com} + +\author{Lars Th{\o}rv{\"a}ld} +\authornote{This author is the + one who did all the really hard work.} +\affiliation{The Th{\o}rv{\"a}ld Group\\ + 1 Th{\o}rv{\"a}ld Circle\\ + Hekla, Iceland} +\email{larst@affiliation.org} + +\author{Lawrence P. Leipuner} +\affiliation{Brookhaven Laboratories\\ + P.O. Box 5000} +\email{lleipuner@researchlabs.org} + +\author{Sean Fogarty} +\affiliation{NASA Ames Research Center\\ + Moffett Field\\ + California 94035} +\email{fogartys@amesres.org} + +\author{Charles Palmer} +\affiliation{Palmer Research Laboratories\\ + 8600 Datapoint Drive\\ + San Antonio, Texas 78229} +\email{cpalmer@prl.com} + +\author{John Smith} +\affiliation{The Th{\o}rv{\"a}ld Group} +\email{jsmith@affiliation.org} + +\author{Julius P.~Kumquat} +\affiliation{The Kumquat Consortium} +\email{jpkumquat@consortium.net} + +\begin{abstract} +This paper provides a sample of a \LaTeX\ document which conforms, +somewhat loosely, to the formatting guidelines for +ACM SIG Proceedings. +\end{abstract} + +% +% The code below should be generated by the tool at +% http://dl.acm.org/ccs.cfm +% Please copy and paste the code instead of the example below. +% +\begin{CCSXML} +<ccs2012> + <concept> + <concept_id>10010520.10010553.10010562</concept_id> + <concept_desc>Computer systems organization~Embedded systems</concept_desc> + <concept_significance>500</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010575.10010755</concept_id> + <concept_desc>Computer systems organization~Redundancy</concept_desc> + <concept_significance>300</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010553.10010554</concept_id> + <concept_desc>Computer systems organization~Robotics</concept_desc> + <concept_significance>100</concept_significance> + </concept> + <concept> + <concept_id>10003033.10003083.10003095</concept_id> + <concept_desc>Networks~Network reliability</concept_desc> + <concept_significance>100</concept_significance> + </concept> +</ccs2012> +\end{CCSXML} + +\ccsdesc[500]{Computer systems organization~Embedded systems} +\ccsdesc[300]{Computer systems organization~Redundancy} +\ccsdesc{Computer systems organization~Robotics} +\ccsdesc[100]{Networks~Network reliability} + +% We no longer use \terms command +%\terms{Theory} + +\keywords{ACM proceedings, \LaTeX, text tagging} + +\begin{teaserfigure} + \includegraphics[width=\textwidth]{sampleteaser} + \caption{This is a teaser} + \label{fig:teaser} +\end{teaserfigure} + + +\maketitle + +\input{samplebody-conf} + +\bibliographystyle{acmsiggraph} +\bibliography{sigproc} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf b/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf Binary files differnew file mode 100644 index 00000000000..d47cd22bb84 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-sigplan.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sample-sigplan.tex b/Master/texmf-dist/doc/latex/acmart/sample-sigplan.tex new file mode 100644 index 00000000000..7a3d3808283 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sample-sigplan.tex @@ -0,0 +1,150 @@ +\documentclass[sigplan, natbib=true, anonymous, review]{acmart} + +\usepackage{booktabs} % For formal tables + + +% Copyright +%\setcopyright{none} +%\setcopyright{acmcopyright} +%\setcopyright{acmlicensed} +\setcopyright{rightsretained} +%\setcopyright{usgov} +%\setcopyright{usgovmixed} +%\setcopyright{cagov} +%\setcopyright{cagovmixed} + + +% DOI +\acmDOI{10.475/123_4} + +% ISBN +\acmISBN{123-4567-24-567/08/06} + +%Conference +\acmConference[WOODSTOCK'97]{ACM Woodstock conference}{July 1997}{El + Paso, Texas USA} +\acmYear{1997} +\copyrightyear{2016} + +\acmPrice{15.00} + +%\acmBadgeL[http://ctuning.org/ae/ppopp2016.html]{ae-logo} +\acmBadgeR[http://ctuning.org/ae/ppopp2016.html]{ae-logo} + + +\begin{document} +\title{SIG Proceedings Paper in LaTeX Format} +\titlenote{Produces the permission block, and + copyright information} +\subtitle{Extended Abstract} +\subtitlenote{The full version of the author's guide is available as + \texttt{acmart.pdf} document} + +\author{Ben Trovato} +\authornote{Dr.~Trovato insisted his name be first.} +\affiliation{Institute for Clarity in Documentation\\ + P.O. Box 1212\\ + Dublin, Ohio 43017-6221} +\email{trovato@corporation.com} + +\author{G.K.M. Tobin} +\authornote{The secretary disavows any knowledge of this author's actions.} +\affiliation{Institute for Clarity in Documentation\\ + P.O. Box 1212\\ + Dublin, Ohio 43017-6221} +\email{webmaster@marysville-ohio.com} + +\author{Lars Th{\o}rv{\"a}ld} +\authornote{This author is the + one who did all the really hard work.} +\affiliation{The Th{\o}rv{\"a}ld Group\\ + 1 Th{\o}rv{\"a}ld Circle\\ + Hekla, Iceland} +\email{larst@affiliation.org} + +\author{Lawrence P. Leipuner} +\affiliation{Brookhaven Laboratories\\ + P.O. Box 5000} +\email{lleipuner@researchlabs.org} + +\author{Sean Fogarty} +\affiliation{NASA Ames Research Center\\ + Moffett Field\\ + California 94035} +\email{fogartys@amesres.org} + +\author{Charles Palmer} +\affiliation{Palmer Research Laboratories\\ + 8600 Datapoint Drive\\ + San Antonio, Texas 78229} +\email{cpalmer@prl.com} + +\author{John Smith} +\affiliation{The Th{\o}rv{\"a}ld Group} +\email{jsmith@affiliation.org} + +\author{Julius P.~Kumquat} +\affiliation{The Kumquat Consortium} +\email{jpkumquat@consortium.net} + +\begin{abstract} +This paper provides a sample of a \LaTeX\ document which conforms, +somewhat loosely, to the formatting guidelines for +ACM SIG Proceedings. +\end{abstract} + +% +% The code below should be generated by the tool at +% http://dl.acm.org/ccs.cfm +% Please copy and paste the code instead of the example below. +% +\begin{CCSXML} +<ccs2012> + <concept> + <concept_id>10010520.10010553.10010562</concept_id> + <concept_desc>Computer systems organization~Embedded systems</concept_desc> + <concept_significance>500</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010575.10010755</concept_id> + <concept_desc>Computer systems organization~Redundancy</concept_desc> + <concept_significance>300</concept_significance> + </concept> + <concept> + <concept_id>10010520.10010553.10010554</concept_id> + <concept_desc>Computer systems organization~Robotics</concept_desc> + <concept_significance>100</concept_significance> + </concept> + <concept> + <concept_id>10003033.10003083.10003095</concept_id> + <concept_desc>Networks~Network reliability</concept_desc> + <concept_significance>100</concept_significance> + </concept> +</ccs2012> +\end{CCSXML} + +\ccsdesc[500]{Computer systems organization~Embedded systems} +\ccsdesc[300]{Computer systems organization~Redundancy} +\ccsdesc{Computer systems organization~Robotics} +\ccsdesc[100]{Networks~Network reliability} + +% We no longer use \terms command +%\terms{Theory} + +\keywords{ACM proceedings, \LaTeX, text tagging} + +\begin{teaserfigure} + \includegraphics[width=\textwidth]{sampleteaser} + \caption{This is a teaser} + \label{fig:teaser} +\end{teaserfigure} + + +\maketitle + +\input{samplebody-conf} + +\bibliographystyle{ACM-Reference-Format-Journals} +\bibliography{sigproc} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/acmart/samplebody-conf.tex b/Master/texmf-dist/doc/latex/acmart/samplebody-conf.tex new file mode 100644 index 00000000000..fa1cf0535df --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/samplebody-conf.tex @@ -0,0 +1,364 @@ +\section{Introduction} + +The \textit{proceedings} are the records of a conference\footnote{This + is a footnote}. ACM seeks +to give these conference by-products a uniform, high-quality +appearance. To do this, ACM has some rigid requirements for the +format of the proceedings documents: there is a specified format +(balanced double columns), a specified set of fonts (Arial or +Helvetica and Times Roman) in certain specified sizes, a specified +live area, centered on the page, specified size of margins, specified +column width and gutter size. + +\section{The Body of The Paper} +Typically, the body of a paper is organized into a hierarchical +structure, with numbered or unnumbered headings for sections, +subsections, sub-subsections, and even smaller sections. The command +\texttt{{\char'134}section} that precedes this paragraph is part of +such a hierarchy.\footnote{This is a footnote.} \LaTeX\ handles the +numbering and placement of these headings for you, when you use the +appropriate heading commands around the titles of the headings. If +you want a sub-subsection or smaller part to be unnumbered in your +output, simply append an asterisk to the command name. Examples of +both numbered and unnumbered headings will appear throughout the +balance of this sample document. + +Because the entire article is contained in the \textbf{document} +environment, you can indicate the start of a new paragraph with a +blank line in your input file; that is why this sentence forms a +separate paragraph. + +\subsection{Type Changes and {\itshape Special} Characters} + +We have already seen several typeface changes in this sample. You can +indicate italicized words or phrases in your text with the command +\texttt{{\char'134}textit}; emboldening with the command +\texttt{{\char'134}textbf} and typewriter-style (for instance, for +computer code) with \texttt{{\char'134}texttt}. But remember, you do +not have to indicate typestyle changes when such changes are part of +the \textit{structural} elements of your article; for instance, the +heading of this subsection will be in a sans serif\footnote{Another + footnote, here. Let's make this a rather short one to see how it + looks.} typeface, but that is handled by the document class file. +Take care with the use of\footnote{A third, and last, footnote.} the +curly braces in typeface changes; they mark the beginning and end of +the text that is to be in the different typeface. + +You can use whatever symbols, accented characters, or non-English +characters you need anywhere in your document; you can find a complete +list of what is available in the \textit{\LaTeX\ User's Guide} +\cite{Lamport:LaTeX}. + +\subsection{Math Equations} +You may want to display math equations in three distinct styles: +inline, numbered or non-numbered display. Each of +the three are discussed in the next sections. + +\subsubsection{Inline (In-text) Equations} +A formula that appears in the running text is called an +inline or in-text formula. It is produced by the +\textbf{math} environment, which can be +invoked with the usual \texttt{{\char'134}begin\,\ldots{\char'134}end} +construction or with the short form \texttt{\$\,\ldots\$}. You +can use any of the symbols and structures, +from $\alpha$ to $\omega$, available in +\LaTeX~\cite{Lamport:LaTeX}; this section will simply show a +few examples of in-text equations in context. Notice how +this equation: +\begin{math} + \lim_{n\rightarrow \infty}x=0 +\end{math}, +set here in in-line math style, looks slightly different when +set in display style. (See next section). + +\subsubsection{Display Equations} +A numbered display equation---one set off by vertical space from the +text and centered horizontally---is produced by the \textbf{equation} +environment. An unnumbered display equation is produced by the +\textbf{displaymath} environment. + +Again, in either environment, you can use any of the symbols +and structures available in \LaTeX\@; this section will just +give a couple of examples of display equations in context. +First, consider the equation, shown as an inline equation above: +\begin{equation} + \lim_{n\rightarrow \infty}x=0 +\end{equation} +Notice how it is formatted somewhat differently in +the \textbf{displaymath} +environment. Now, we'll enter an unnumbered equation: +\begin{displaymath} + \sum_{i=0}^{\infty} x + 1 +\end{displaymath} +and follow it with another numbered equation: +\begin{equation} + \sum_{i=0}^{\infty}x_i=\int_{0}^{\pi+2} f +\end{equation} +just to demonstrate \LaTeX's able handling of numbering. + +\subsection{Citations} +Citations to articles~\cite{bowman:reasoning, +clark:pct, braams:babel, herlihy:methodology}, +conference proceedings~\cite{clark:pct} or maybe +books \cite{Lamport:LaTeX, salas:calculus} listed +in the Bibliography section of your +article will occur throughout the text of your article. +You should use BibTeX to automatically produce this bibliography; +you simply need to insert one of several citation commands with +a key of the item cited in the proper location in +the \texttt{.tex} file~\cite{Lamport:LaTeX}. +The key is a short reference you invent to uniquely +identify each work; in this sample document, the key is +the first author's surname and a +word from the title. This identifying key is included +with each item in the \texttt{.bib} file for your article. + +The details of the construction of the \texttt{.bib} file +are beyond the scope of this sample document, but more +information can be found in the \textit{Author's Guide}, +and exhaustive details in the \textit{\LaTeX\ User's +Guide}~\cite{Lamport:LaTeX}. + +This article shows only the plainest form +of the citation command, using \texttt{{\char'134}cite}. + +\subsection{Tables} +Because tables cannot be split across pages, the best +placement for them is typically the top of the page +nearest their initial cite. To +ensure this proper ``floating'' placement of tables, use the +environment \textbf{table} to enclose the table's contents and +the table caption. The contents of the table itself must go +in the \textbf{tabular} environment, to +be aligned properly in rows and columns, with the desired +horizontal and vertical rules. Again, detailed instructions +on \textbf{tabular} material +are found in the \textit{\LaTeX\ User's Guide}. + +Immediately following this sentence is the point at which +Table~\ref{tab:freq} is included in the input file; compare the +placement of the table here with the table in the printed +output of this document. + +\begin{table} + \centering + \caption{Frequency of Special Characters} + \label{tab:freq} + \begin{tabular}{ccl} + \toprule + Non-English or Math&Frequency&Comments\\ + \midrule + \O & 1 in 1,000& For Swedish names\\ + $\pi$ & 1 in 5& Common in math\\ + \$ & 4 in 5 & Used in business\\ + $\Psi^2_1$ & 1 in 40,000& Unexplained usage\\ + \bottomrule +\end{tabular} +\end{table} + +To set a wider table, which takes up the whole width of the page's +live area, use the environment \textbf{table*} to enclose the table's +contents and the table caption. As with a single-column table, this +wide table will ``float'' to a location deemed more desirable. +Immediately following this sentence is the point at which +Table~\ref{tab:commands} is included in the input file; again, it is +instructive to compare the placement of the table here with the table +in the printed output of this document. + + +\begin{table*} + \centering + \caption{Some Typical Commands} + \label{tab:commands} + \begin{tabular}{ccl} + \toprule + Command &A Number & Comments\\ + \midrule + \texttt{{\char'134}author} & 100& Author \\ + \texttt{{\char'134}table}& 300 & For tables\\ + \texttt{{\char'134}table*}& 400& For wider tables\\ + \bottomrule + \end{tabular} +\end{table*} +% end the environment with {table*}, NOTE not {table}! + +It is strongly recommended to use the package booktabs~\cite{Fear05} +and follow its main principles of typography with respect to tables: +\begin{enumerate} +\item Never, ever use vertical rules. +\item Never use double rules. +\end{enumerate} +It is also a good idea not to overuse horizontal rules. + + +\subsection{Figures} + +Like tables, figures cannot be split across pages; the best placement +for them is typically the top or the bottom of the page nearest their +initial cite. To ensure this proper ``floating'' placement of +figures, use the environment \textbf{figure} to enclose the figure and +its caption. + +This sample document contains examples of \texttt{.eps} files to be +displayable with \LaTeX. If you work with pdf\LaTeX, use files in the +\texttt{.pdf} format. Note that most modern \TeX\ systems will convert +\texttt{.eps} to \texttt{.pdf} for you on the fly. More details on +each of these are found in the \textit{Author's Guide}. + +\begin{figure} +\centering +\includegraphics{fly} +\caption{A sample black and white graphic.} +\end{figure} + +\begin{figure} +\centering +\includegraphics[height=1in, width=1in]{fly} +\caption{A sample black and white graphic +that has been resized with the \texttt{includegraphics} command.} +\end{figure} + + +As was the case with tables, you may want a figure that spans two +columns. To do this, and still to ensure proper ``floating'' +placement of tables, use the environment \textbf{figure*} to enclose +the figure and its caption. And don't forget to end the environment +with \textbf{figure*}, not \textbf{figure}! + +\begin{figure*} +\centering +\includegraphics{flies} +\caption{A sample black and white graphic +that needs to span two columns of text.} +\end{figure*} + + +\begin{figure} +\centering +\includegraphics[height=1in, width=1in]{rosette} +\caption{A sample black and white graphic that has +been resized with the \texttt{includegraphics} command.} +\end{figure} + +\subsection{Theorem-like Constructs} + +Other common constructs that may occur in your article are the forms +for logical constructs like theorems, axioms, corollaries and proofs. +ACM uses two types of these constructs: theorem-like and +definition-like. + +Here is a theorem: +\begin{theorem} + Let $f$ be continuous on $[a,b]$. If $G$ is + an antiderivative for $f$ on $[a,b]$, then + \begin{displaymath} + \int^b_af(t)\,dt = G(b) - G(a). + \end{displaymath} +\end{theorem} + +Here is a definition: +\begin{definition} + If $z$ is irrational, then by $e^z$ we mean the + unique number that has + logarithm $z$: + \begin{displaymath} + \log e^z = z. + \end{displaymath} +\end{definition} + +The pre-defined theorem-like constructs are \textbf{theorem}, +\textbf{conjecture}, \textbf{proposition}, \textbf{lemma} and +\textbf{corollary}. The pre-defined definition-like constructs are +\textbf{example} and \textbf{definition}. You can add your own +constructs using the \textsl{amsthm} interface~\cite{Amsthm15}. The +styles used in the \verb|\theoremstyle| command are \textbf{acmplain} +and \textbf{acmdefinition}. + +Another construct is \textbf{proof}, for example, + +\begin{proof} + Suppose on the contrary there exists a real number $L$ such that + \begin{displaymath} + \lim_{x\rightarrow\infty} \frac{f(x)}{g(x)} = L. + \end{displaymath} + Then + \begin{displaymath} + l=\lim_{x\rightarrow c} f(x) + = \lim_{x\rightarrow c} + \left[ g{x} \cdot \frac{f(x)}{g(x)} \right ] + = \lim_{x\rightarrow c} g(x) \cdot \lim_{x\rightarrow c} + \frac{f(x)}{g(x)} = 0\cdot L = 0, + \end{displaymath} + which contradicts our assumption that $l\neq 0$. +\end{proof} + +\section{Conclusions} +This paragraph will end the body of this sample document. +Remember that you might still have Acknowledgments or +Appendices; brief samples of these +follow. There is still the Bibliography to deal with; and +we will make a disclaimer about that here: with the exception +of the reference to the \LaTeX\ book, the citations in +this paper are to articles which have nothing to +do with the present subject and are used as +examples only. +%\end{document} % This is where a 'short' article might terminate + +%ACKNOWLEDGMENTS are optional +\section{Acknowledgments} +This section is optional; it is a location for you +to acknowledge grants, funding, editing assistance and +what have you. In the present case, for example, the +authors would like to thank Gerald Murray of ACM for +his help in codifying this \textit{Author's Guide} +and the \texttt{.cls} and \texttt{.tex} files that it describes. + + +\appendix +%Appendix A +\section{Headings in Appendices} +The rules about hierarchical headings discussed above for +the body of the article are different in the appendices. +In the \textbf{appendix} environment, the command +\textbf{section} is used to +indicate the start of each Appendix, with alphabetic order +designation (i.e., the first is A, the second B, etc.) and +a title (if you include one). So, if you need +hierarchical structure +\textit{within} an Appendix, start with \textbf{subsection} as the +highest level. Here is an outline of the body of this +document in Appendix-appropriate form: +\subsection{Introduction} +\subsection{The Body of the Paper} +\subsubsection{Type Changes and Special Characters} +\subsubsection{Math Equations} +\paragraph{Inline (In-text) Equations} +\paragraph{Display Equations} +\subsubsection{Citations} +\subsubsection{Tables} +\subsubsection{Figures} +\subsubsection{Theorem-like Constructs} +\subsubsection*{A Caveat for the \TeX\ Expert} +\subsection{Conclusions} +\subsection{Acknowledgments} +\subsection{References} +Generated by bibtex from your \texttt{.bib} file. Run latex, +then bibtex, then latex twice (to resolve references) +to create the \texttt{.bbl} file. Insert that \texttt{.bbl} +file into the \texttt{.tex} source file and comment out +the command \texttt{{\char'134}thebibliography}. +% This next section command marks the start of +% Appendix B, and does not continue the present hierarchy +\section{More Help for the Hardy} + +Of course, reading the source code is always useful. The file +\texttt{acmart.pdf} contains both the user guide and the commented +code. + +\section*{Acknowledgements} +\label{sec:acks} + +\begin{anonsuppress} + The acknowledgements are suppressed when the paper is prepared for a + blind review. +\end{anonsuppress}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/acmart/samplebody-journals.tex b/Master/texmf-dist/doc/latex/acmart/samplebody-journals.tex new file mode 100644 index 00000000000..3985832e1a6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/samplebody-journals.tex @@ -0,0 +1,370 @@ + +\section{Introduction} + +As a new technology, Wireless Sensor Networks (WSNs) has a wide +range of applications \cite{Culler-01, Bahl-02, Akyildiz-01}, including +environment monitoring, smart buildings, medical care, industrial and +military applications. Among them, a recent trend is to develop +commercial sensor networks that require pervasive sensing of both +environment and human beings, for example, assisted living +\cite{Akyildiz-02, Harvard-01,CROSSBOW} and smart homes +\cite{Harvard-01, Adya-01,CROSSBOW}. +% quote +\begin{quote} + ``For these applications, sensor devices are incorporated into human + cloths \cite{Natarajan-01, Zhou-06, Bahl-02, Adya-01} for monitoring + health related information like EKG readings, fall detection, and + voice recognition''. +\end{quote} +While collecting all these multimedia information +\cite{Akyildiz-02} requires a high network throughput, off-the-shelf +sensor devices only provide very limited bandwidth in a single +channel: 19.2\,Kbps in MICA2 \cite{Bahl-02} and 250\,Kbps in MICAz. + +In this article, we propose MMSN, abbreviation for Multifrequency +Media access control for wireless Sensor Networks. The main +contributions of this work can be summarized as follows. +% itemize +\begin{itemize} +\item To the best of our knowledge, the MMSN protocol is the first +multifrequency MAC protocol especially designed for WSNs, in which +each device is equipped with a single radio transceiver and +the MAC layer packet size is very small. +\item Instead of using pairwise RTS/CTS frequency negotiation +\cite{Adya-01, Culler-01, Tzamaloukas-01, Zhou-06}, +we propose lightweight frequency assignments, which are good choices +for many deployed comparatively static WSNs. +\item We develop new toggle transmission and snooping techniques to +enable a single radio transceiver in a sensor device to achieve +scalable performance, avoiding the nonscalable ``one +control channel + multiple data channels'' design \cite{Natarajan-01}. +\end{itemize} + +% Head 1 +\section{MMSN Protocol} + +% Head 2 +\subsection{Frequency Assignment} + +We propose a suboptimal distribution to be used by each node, which is +easy to compute and does not depend on the number of competing +nodes. A natural candidate is an increasing geometric sequence, in +which +% Numbered Equation +\begin{equation} +\label{eqn:01} +P(t)=\frac{b^{\frac{t+1}{T+1}}-b^{\frac{t}{T+1}}}{b-1}, +\end{equation} +where $t=0,{\ldots}\,,T$, and $b$ is a number greater than $1$. + +In our algorithm, we use the suboptimal approach for simplicity and +generality. We need to make the distribution of the selected back-off +time slice at each node conform to what is shown in +Equation~\eqref{eqn:01}. It is implemented as follows: First, a random +variable $\alpha$ with a uniform distribution within the interval $(0, +1)$ is generated on each node, then time slice $i$ is selected +according to the following equation: +% Unnumbered Equation +\[ +i=\lfloor(T+1)\log_b[\alpha(b-1)+1]\rfloor. +\] +It can be easily proven that the distribution of $i$ conforms to Equation +(\ref{eqn:01}). + +So protocols \cite{Bahl-02, Culler-01,Zhou-06,Adya-01, +Tzamaloukas-01, Akyildiz-01} that use RTS/CTS +controls\footnote{RTS/CTS controls are required to be implemented by +802.11-compliant devices. They can be used as an optional mechanism +to avoid Hidden Terminal Problems in the 802.11 standard and +protocols based on those similar to \cite{Akyildiz-01} and +\cite{Adya-01}.} for frequency negotiation and reservation are not +suitable for WSN applications, even though they exhibit good +performance in general wireless ad hoc +networks. + +% Head 3 +\subsubsection{Exclusive Frequency Assignment} + + +In exclusive frequency assignment, nodes first exchange their IDs +among two communication hops so that each node knows its two-hop +neighbors' IDs. In the second broadcast, each node beacons all +neighbors' IDs it has collected during the first broadcast period. + +% Head 4 +\paragraph{Eavesdropping} + +Even though the even selection scheme leads to even sharing of +available frequencies among any two-hop neighborhood, it involves a +number of two-hop broadcasts. To reduce the communication cost, we +propose a lightweight eavesdropping scheme. + +\subsection{Basic Notations} + +As Algorithm~\ref{alg:one} states, for each frequency +number, each node calculates a random number (${\textit{Rnd}}_{\alpha}$) for +itself and a random number (${\textit{Rnd}}_{\beta}$) for each of its two-hop +neighbors with the same pseudorandom number generator. + +% Algorithm +\begin{algorithm}[t] +\SetAlgoNoLine +\KwIn{Node $\alpha$'s ID ($ID_{\alpha}$), and node $\alpha$'s +neighbors' IDs within two communication hops.} +\KwOut{The frequency number ($FreNum_{\alpha}$) node $\alpha$ gets assigned.} +$index$ = 0; $FreNum_{\alpha}$ = -1\; +\Repeat{$FreNum_{\alpha} > -1$}{ + $Rnd_{\alpha}$ = Random($ID_{\alpha}$, $index$)\; + $Found$ = $TRUE$\; + \For{each node $\beta$ in $\alpha$'s two communication hops + }{ + $Rnd_{\beta}$ = Random($ID_{\beta}$, $index$)\; + \If{($Rnd_{\alpha} < Rnd_{\beta}$) \text{or} ($Rnd_{\alpha}$ == + $Rnd_{\beta}$ \text{and} $ID_{\alpha} < ID_{\beta}$)\; + }{ + $Found$ = $FALSE$; break\; + } + } + \eIf{$Found$}{ + $FreNum_{\alpha}$ = $index$\; + }{ + $index$ ++\; + } + } +\caption{Frequency Number Computation} +\label{alg:one} +\end{algorithm} + + +Bus masters are divided into two disjoint sets, $\mathcal{M}_{RT}$ +and $\mathcal{M}_{NRT}$. +% description +\begin{description} +\item[RT Masters] +$\mathcal{M}_{RT}=\{ \vec{m}_{1},\dots,\vec{m}_{n}\}$ denotes the +$n$ RT masters issuing real-time constrained requests. To model the +current request issued by an $\vec{m}_{i}$ in $\mathcal{M}_{RT}$, +three parameters---the recurrence time $(r_i)$, the service cycle +$(c_i)$, and the relative deadline $(d_i)$---are used, with their +relationships. +\item[NRT Masters] +$\mathcal{M}_{NRT}=\{ \vec{m}_{n+1},\dots,\vec{m}_{n+m}\}$ is a set +of $m$ masters issuing nonreal-time constrained requests. In our +model, each $\vec{m}_{j}$ in $\mathcal{M}_{NRT}$ needs only one +parameter, the service cycle, to model the current request it +issues. +\end{description} + +Here, a question may arise, since each node has a global ID. Why +don't we just map nodes' IDs within two hops into a group of +frequency numbers and assign those numbers to all nodes within two +hops? + +\section{Simulator} +\label{sec:sim} + +If the model checker requests successors of a state which are not +created yet, the state space uses the simulator to create the +successors on-the-fly. To create successor states the simulator +conducts the following steps. +% enumerate +\begin{enumerate} +\item Load state into microcontroller model. +\item Determine assignments needed for resolving nondeterminism. +\item For each assignment. + \begin{enumerate} + \item either call interrupt handler or simulate effect of next instruction, or + \item evaluate truth values of atomic propositions. + \end{enumerate} +\item Return resulting states. +\end{enumerate} +Figure~\ref{fig:one} shows a typical microcontroller C program that +controls an automotive power window lift. The program is one of the +programs used in the case study described in Section~\ref{sec:sim}. +At first sight, the programs looks like an ANSI~C program. It +contains function calls, assignments, if clauses, and while loops. +% Figure +\begin{figure} + \centering + \includegraphics{mouse} + \caption{Code before preprocessing.} + \label{fig:one} +\end{figure} + +\subsection{Problem Formulation} + +The objective of variable coalescence-based offset assignment is to find +both the coalescence scheme and the MWPC on the coalesced graph. We start +with a few definitions and lemmas for variable coalescence. + +% Enunciations +\begin{definition}[Coalesced Node (C-Node)]A C-node is a set of +live ranges (webs) in the AG or IG that are coalesced. Nodes within the same +C-node cannot interfere with each other on the IG. Before any coalescing is +done, each live range is a C-node by itself. +\end{definition} + +\begin{definition}[C-AG (Coalesced Access Graph)]The C-AG is the access +graph after node coalescence, which is composed of all C-nodes and C-edges. +\end{definition} + +\begin{lemma} +The C-MWPC problem is NP-complete. +\end{lemma} +\begin{proof} C-MWPC can be easily reduced to the MWPC problem assuming a +coalescence graph without any edge or a fully connected interference graph. +Therefore, each C-node is an uncoalesced live range after value separation +and C-PC is equivalent to PC. A fully connected interference graph is made +possible when all live ranges interfere with each other. Thus, the C-MWPC +problem is NP-complete. +\end{proof} + +\begin{lemma}[Lemma Subhead]The solution to the C-MWPC problem is no +worse than the solution to the MWPC. +\end{lemma} +\begin{proof} +Simply, any solution to the MWPC is also a solution to the +C-MWPC. But some solutions to C-MWPC may not apply to the MWPC (if any +coalescing were made). +\end{proof} + +\section{Performance Evaluation} + +During all the experiments, the Geographic Forwarding (GF) +\cite{Akyildiz-01} routing protocol is used. GF exploits geographic +information of nodes and conducts local data-forwarding to achieve +end-to-end routing. Our simulation is configured according to the +settings in Table~\ref{tab:one}. Each run lasts for 2 minutes and +repeated 100 times. For each data value we present in the results, we +also give its 90\% confidence interval. + +% Table +\begin{table}% +\caption{Simulation Configuration} +\label{tab:one} +\begin{minipage}{\columnwidth} +\begin{center} +\begin{tabular}{ll} + \toprule + TERRAIN\footnote{This is a table footnote. This is a + table footnote. This is a table footnote.} & (200m$\times$200m) Square\\ + Node Number & 289\\ + Node Placement & Uniform\\ + Application & Many-to-Many/Gossip CBR Streams\\ + Payload Size & 32 bytes\\ + Routing Layer & GF\\ + MAC Layer & CSMA/MMSN\\ + Radio Layer & RADIO-ACCNOISE\\ + Radio Bandwidth & 250Kbps\\ + Radio Range & 20m--45m\\ + \bottomrule +\end{tabular} +\end{center} +\bigskip +\footnotesize\emph{Source:} This is a table + sourcenote. This is a table sourcenote. This is a table + sourcenote. + + \emph{Note:} This is a table footnote. +\end{minipage} +\end{table}% + + +\section{Conclusions} + +In this article, we develop the first multifrequency MAC protocol for +WSN applications in which each device adopts a +single radio transceiver. The different MAC design requirements for +WSNs and general wireless ad-hoc networks are +compared, and a complete WSN multifrequency MAC design (MMSN) is +put forth. During the MMSN design, we analyze and evaluate different +choices for frequency assignments and also discuss the nonuniform +back-off algorithms for the slotted media access design. + +% Start of "Sample References" section + +\section{Typical references in new ACM Reference Format} +A paginated journal article \cite{Abril07}, an enumerated +journal article \cite{Cohen07}, a reference to an entire issue \cite{JCohen96}, +a monograph (whole book) \cite{Kosiur01}, a monograph/whole book in a series (see 2a in spec. document) +\cite{Harel79}, a divisible-book such as an anthology or compilation \cite{Editor00} +followed by the same example, however we only output the series if the volume number is given +\cite{Editor00a} (so Editor00a's series should NOT be present since it has no vol. no.), +a chapter in a divisible book \cite{Spector90}, a chapter in a divisible book +in a series \cite{Douglass98}, a multi-volume work as book \cite{Knuth97}, +an article in a proceedings (of a conference, symposium, workshop for example) +(paginated proceedings article) \cite{Andler79}, a proceedings article +with all possible elements \cite{Smith10}, an example of an enumerated +proceedings article \cite{VanGundy07}, +an informally published work \cite{Harel78}, a doctoral dissertation \cite{Clarkson85}, +a master's thesis: \cite{anisi03}, an online document / world wide web +resource \cite{Thornburg01, Ablamowicz07, Poker06}, a video game (Case 1) \cite{Obama08} and (Case 2) \cite{Novak03} +and \cite{Lee05} and (Case 3) a patent \cite{JoeScientist001}, +work accepted for publication \cite{rous08}, 'YYYYb'-test for prolific author +\cite{SaeediMEJ10} and \cite{SaeediJETC10}. Other cites might contain +'duplicate' DOI and URLs (some SIAM articles) \cite{Kirschmer:2010:AEI:1958016.1958018}. +Boris / Barbara Beeton: multi-volume works as books +\cite{MR781536} and \cite{MR781537}. + +% Appendix +\appendix +\section{Switching times} + +In this appendix, we measure the channel switching time of Micaz +\cite{CROSSBOW} sensor devices. In our experiments, one mote +alternatingly switches between Channels~11 and~12. Every time after +the node switches to a channel, it sends out a packet immediately and +then changes to a new channel as soon as the transmission is finished. +We measure the number of packets the test mote can send in 10 seconds, +denoted as $N_{1}$. In contrast, we also measure the same value of the +test mote without switching channels, denoted as $N_{2}$. We calculate +the channel-switching time $s$ as +\begin{displaymath}% +s=\frac{10}{N_{1}}-\frac{10}{N_{2}}/ +\end{displaymath}% +By repeating the experiments 100 times, we get the average +channel-switching time of Micaz motes: 24.3\,$\mu$s. + +\section{Supplementary materials} + + +\begin{printonly} + See the supplementary materials in the online version +\end{printonly} + +\begin{screenonly} +\subsection{This is an example of Appendix subsection head} + +Channel-switching time is measured as the time length it takes for +motes to successfully switch from one channel to another. This +parameter impacts the maximum network throughput, because motes +cannot receive or send any packet during this period of time, and it +also affects the efficiency of toggle snooping in MMSN, where motes +need to sense through channels rapidly. + +By repeating experiments 100 times, we get the average +channel-switching time of Micaz motes: 24.3 $\mu$s. We then conduct +the same experiments with different Micaz motes, as well as +experiments with the transmitter switching from Channel 11 to other +channels. In both scenarios, the channel-switching time does not have +obvious changes. (In our experiments, all values are in the range of +23.6 $\mu$s to 24.9 $\mu$s.) + +\subsection{Appendix subsection head} + +The primary consumer of energy in WSNs is idle listening. The key to +reduce idle listening is executing low duty-cycle on nodes. Two +primary approaches are considered in controlling duty-cycles in the +MAC layer. + +\end{screenonly} + +\section*{Acknowledgements} + +The authors would like to thank Dr. Maura Turolla of Telecom +Italia for providing specifications about the application scenario. + + +% Bibliography +\bibliographystyle{ACM-Reference-Format-Journals} +\bibliography{sample-bibliography} diff --git a/Master/texmf-dist/doc/latex/acmart/sampleteaser.pdf b/Master/texmf-dist/doc/latex/acmart/sampleteaser.pdf Binary files differnew file mode 100644 index 00000000000..374f676f0df --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sampleteaser.pdf diff --git a/Master/texmf-dist/doc/latex/acmart/sigchi-a.bib b/Master/texmf-dist/doc/latex/acmart/sigchi-a.bib new file mode 100644 index 00000000000..089247f33f3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sigchi-a.bib @@ -0,0 +1,164 @@ +@Misc{CHINOSAUR:venue, + author = {@\_CHINOSAUR}, + key = {_CHINOSAUR}, + howpublished = {Tweet}, + title = {"VENUE IS TOO COLD" \#BINGO \#CHI2014}, + month = {May}, + day = 1, + year = 2014, + note = {Retrieved Febuary 2, 2015 from + \url{https://twitter.com/_CHINOSAUR/status/461864317415989248}}, + annote = {Tweet} +} + +@misc{supermetroid:snes, + Address = {Kyoto, Japan}, + Author = {{Nintendo R\&D1} and {Intelligent Systems}}, + Day = {18}, + Howpublished = {Game [SNES]}, + Month = {April}, + Note = {Nintendo, Kyoto, Japan. Played August 2011.}, + Publisher = {Nintendo}, + Title = {\emph{Super Metroid}}, + Year = {1994} +} + +@inproceedings{Klemmer:2002:WSC:503376.503378, + author = {Klemmer, Scott R. and Thomsen, Michael and + Phelps-Goodman, Ethan and Lee, Robert and Landay, + James A.}, + title = {Where Do Web Sites Come from?: Capturing and + Interacting with Design History}, + booktitle = {Proceedings of the SIGCHI Conference on Human + Factors in Computing Systems}, + series = {CHI '02}, + year = 2002, + isbn = {1-58113-453-3}, + location = {Minneapolis, Minnesota, USA}, + pages = {1--8}, + url = {http://doi.acm.org/10.1145/503376.503378}, + doi = {10.1145/503376.503378}, + acmid = 503378, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {CSCW, activity capture, design rationale, history + management, informal interfaces, sketching, tangible + UI, web design}, +} + +@inproceedings{Mather:2000:MUT, + title = {Making up titles for conference papers}, + author = {Mather, B. D.}, + booktitle = {Ext. Abstracts CHI 2000}, + year = 2000, + publisher = "ACM Press", + pages = "1-2", +} + +@book{Schwartz:1995:GBF, + title = {Guidelines for Bias-Free Writing}, + author = {Marilyn Schwartz}, + address = {Bloomington, IN, USA}, + year = 1995, + publisher = {ERIC} +} + +@inproceedings{Zellweger:2001:FAO:504216.504224, + author = {Zellweger, Polle T. and Bouvin, Niels Olof and + Jeh{\o}j, Henning and Mackinlay, Jock D.}, + title = {Fluid annotations in an open world}, + booktitle = {Proc. Hypertext 2001}, + year = 2001, + pages = {9--18}, + publisher = {ACM Press}, +} + +@misc{acm_categories, + key = "ACM", + author = {ACM}, + title = {How to Classify Works Using ACM's Computing + Classification System}, + year = 1998, + note = {\url{http://www.acm.org/class/how_to_use.html}}, +} + +@Misc{cavender:writing, + author = {Anna Cavender and Shari Trewin and Vicki Hanson}, + title = {Accessible Writing Guide}, + year = 2014, + day = 22, + note = + {\url{http://www.sigaccess.org/welcome-to-sigaccess/resources/accessible-writing-guide/}}, + annote = {URL} +} + +@article{ethics, + title = {{Social Impacts of Computing: Codes of Professional + Ethics}}, + author = {R. E. Anderson}, + doi = "10.1177/089443939201000402", + journal = "Social Science Computer Review December", + year = 1992, + volume = 10, + number = 4, + pages = "453-469" +} + +@Misc{heilig:sensorama, + author = {Morton L. Heilig}, + title = {Sensorama Simulator}, + howpublished = {U.S. Patent 3,050,870}, + month = {August}, + day = 28, + year = 1962, + note = {Filed Februrary 22, 1962.}, + annote = {is this right?} +}, + +@article{kaye:puc, + year = 2014, + issn = {1617-4909}, + journal = {Personal and Ubiquitous Computing}, + volume = 18, + number = 4, + doi = {10.1007/s00779-014-0773-4}, + title = {Special issue on science fiction and ubiquitous + computing}, + url = {http://dx.doi.org/10.1007/s00779-014-0773-4}, + publisher = {Springer London}, + author = {Kaye, Jofish and Dourish, Paul}, + pages = {765-766}, + language = {English} +} + +@Misc{psy:gangnam, + author = {Psy}, + title = {Gangnam Style}, + howpublished = {Video}, + month = {July}, + day = 15, + year = 2012, + note = {Retrieved August 22, 2014 from + \url{https://www.youtube.com/watch?v=9bZkp7q19f0}}, + annote = {Video URL} +} + +@PhdThesis{sutherland:sketchpad, + author = {Ivan E. Sutherland}, + title = {Sketchpad, a Man-Machine Graphical Communication + System}, + school = {Massachusetts Institute of Technology}, + year = 1963, + address = {Cambridge, MA}, +} + +@InBook{winner:politics, + author = {Langdon Winner}, + title = {The Social Shaping of Technology}, + chapter = {Do artifacts have politics?}, + publisher = {Open University Press}, + year = 1999, + address = {UK}, + edition = {2nd}, + pages = {28--40}, +} diff --git a/Master/texmf-dist/doc/latex/acmart/sigchi-logo.png b/Master/texmf-dist/doc/latex/acmart/sigchi-logo.png Binary files differnew file mode 100644 index 00000000000..b22032c21af --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sigchi-logo.png diff --git a/Master/texmf-dist/doc/latex/acmart/sigproc.bib b/Master/texmf-dist/doc/latex/acmart/sigproc.bib new file mode 100644 index 00000000000..03168dd8a48 --- /dev/null +++ b/Master/texmf-dist/doc/latex/acmart/sigproc.bib @@ -0,0 +1,74 @@ +@ARTICLE{bowman:reasoning, + author = {Bowman, Mic and Debray, Saumya K. and Peterson, Larry L.}, + title = {Reasoning About Naming Systems}, + journal = {ACM Trans. Program. Lang. Syst.}, + volume = {15}, + number = {5}, + pages = {795-825}, + month = {November}, + year = {1993}, + doi = {10.1145/161468.161471}, +} + +@ARTICLE{braams:babel, + author = {Braams, Johannes}, + title = {Babel, a Multilingual Style-Option System for Use with LaTeX's Standard Document Styles}, + journal = {TUGboat}, + volume = {12}, + number = {2}, + pages = {291-301}, + month = {June}, + year = {1991}, +} + +@INPROCEEDINGS{clark:pct, + AUTHOR = "Malcolm Clark", + TITLE = "Post Congress Tristesse", + BOOKTITLE = "TeX90 Conference Proceedings", + PAGES = "84-89", + ORGANIZATION = "TeX Users Group", + MONTH = "March", + YEAR = {1991} } + +@ARTICLE{herlihy:methodology, + author = {Herlihy, Maurice}, + title = {A Methodology for Implementing Highly Concurrent Data Objects}, + journal = {ACM Trans. Program. Lang. Syst.}, + volume = {15}, + number = {5}, + pages = {745-770}, + month = {November}, + year = {1993}, + doi = {10.1145/161468.161469}, +} + +@BOOK{Lamport:LaTeX, + AUTHOR = "Leslie Lamport", + TITLE = "LaTeX User's Guide and Document Reference Manual", + PUBLISHER = "Addison-Wesley Publishing Company", + ADDRESS = "Reading, Massachusetts", + YEAR = "1986" } + +@BOOK{salas:calculus, + AUTHOR = "S.L. Salas and Einar Hille", + TITLE = "Calculus: One and Several Variable", + PUBLISHER = "John Wiley and Sons", + ADDRESS = "New York", + YEAR = "1978" } + +@MANUAL{Fear05, + title = {Publication quality tables in {\LaTeX}}, + author = {Simon Fear}, + month = {April}, + year = 2005, + note = {\url{http://www.ctan.org/pkg/booktabs}} +} + +@Manual{Amsthm15, + title = {Using the amsthm Package}, + organization = {American Mathematical Society}, + month = {April}, + year = 2015, + note = {\url{http://www.ctan.org/pkg/amsthm}} +} + diff --git a/Master/texmf-dist/source/latex/acmart/acmart.dtx b/Master/texmf-dist/source/latex/acmart/acmart.dtx new file mode 100644 index 00000000000..57c062ee9ed --- /dev/null +++ b/Master/texmf-dist/source/latex/acmart/acmart.dtx @@ -0,0 +1,4097 @@ +% \iffalse +% +% Copyright 2016, Association for Computing Machinery +% This work 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 the license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of +% LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Boris Veytsman, +% <borisv@lk.net> +% +% This work consists of the file acmart.dtx and the +% derived file acmart.cls, and +% +% \fi +% +% +%% \CharacterTable +%% {Upper-case \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 +%% Lower-case \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +% +% \MakeShortVerb{|} +% \GetFileInfo{acmart.dtx} +% \newcommand{\progname}[1]{\textsf{#1}} +% \title{\LaTeX{} Class for \emph{Association for Computing +% Machinery}\thanks{\copyright 2016, Association for Computing Machinery}} +% \author{Boris Veytsman\thanks{% +% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}}, +% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}} +% \date{\filedate, \fileversion} +% \maketitle +% \begin{abstract} +% This package provides a class for typesetting publications of +% Association for Computing Machinery. +% \end{abstract} +% \tableofcontents +% +% \clearpage +% +%\section{Introduction} +%\label{sec:intro} +% +% Association for Computing Machinery is the world's largest +% educational and scientific computing society, which delivers +% resources that advance computing as a science and a +% profession\footnote{\url{http://www.acm.org/}}. It was one of the +% earily adopters of \TeX\ for its typesetting. +% +% It provided several different classes for a number of journal and +% conference proceedings. Unfortunately during the years since these +% classes were written, the code was patched many times, and the +% support of the different versions of the classes became difficult. +% +% This package provides the uniform interface for all ACM +% publications. It is intended to replace all different classes and +% packages and provide an up to date \LaTeX\ package. +% +% The package uses only free \TeX\ packages and fonts included in \TeX +% Live, Mik\TeX\ and other popular \TeX\ distributions. It is +% intended to be published in these distributions itself, which +% minimizes users' efforts in the installation and support of the +% package. +% +% I am grateful to +% Matthew Fluet, +% John Owens, +% Craig Rodkin, +% Bernard Rous, +% David Shamma, +% Stephen Spencer +% and many others for their invaluable help. +% +% The development version of the package is available at +% \url{https://github.com/borisveytsman/acmart}. +% +%\section{User's guide} +%\label{sec:ug} +% +% +%\subsection{Installation} +%\label{sec:ug_install} +% +% Most probably, you already have this package installed in your +% favorite \TeX\ distribution; if not, you may want to upgrade. You +% may need to upgrade it anyway since the package uses a number +% relatively recent packages, especially the ones related to the +% fonts. +% +% If you decide to install the package yourself, follow the standard +% rules: +% \begin{enumerate} +% \item Run \progname{latex} on |acmart.ins|. This will produce the file +% |acmart.cls|. +% \item Put the file |acmart.cls| and the bibligoraphy files |*.bst| +% to the places where \LaTeX{} can find them (see \cite{TeXFAQ} or +% the documentation for your \TeX{} system).\label{item:install} +% \item Update the database of file names. Again, see \cite{TeXFAQ} +% or the documentation for your \TeX{} system for the system-specific +% details.\label{item:update} +% \item The file |acmart.pdf| provides the documentation for the +% package (this is the file you are probably reading now). +% \end{enumerate} +% As an alternative to items~\ref{item:install} and~\ref{item:update} +% you can just put the files in the working directory where your +% |.tex| file is. +% +% +% The class uses a number of other packages. They are included in all +% major \TeX\ distributions (\TeX Live, Mac\TeX, Mik\TeX) of 2015 and +% later, so you probably have them installed. Just in case here is +% the list of these packages: +% \begin{itemize} +% \item \textsl{algorithm2e}, \url{http://www.ctan.org/pkg/algorithm2e} +% \item \textsl{amscls}, \url{http://www.ctan.org/pkg/amscls} +% \item \textsl{amsfonts}, \url{http://www.ctan.org/pkg/amsfonts} +% \item \textsl{amsmath}, \url{http://www.ctan.org/pkg/amsmath} +% \item \textsl{booktabs}, \url{http://www.ctan.org/pkg/booktabs} +% \item \textsl{caption}, \url{http://www.ctan.org/pkg/caption} +% \item \textsl{comment}, \url{http://www.ctan.org/pkg/comment} +% \item \textsl{environ}, \url{http://www.ctan.org/pkg/environ} +% \item \textsl{fancyhdr}, \url{http://www.ctan.org/pkg/fancyhdr} +% \item \textsl{float}, \url{http://www.ctan.org/pkg/float} +% \item \textsl{fontaxes}, \url{http://www.ctan.org/pkg/fontaxes} +% \item \textsl{geometry}, \url{http://www.ctan.org/pkg/geometry} +% \item \textsl{graphics}, \url{http://www.ctan.org/pkg/graphics} +% \item \textsl{hyperref}, \url{http://www.ctan.org/pkg/hyperref} +% \item \textsl{ifluatex}, \url{http://www.ctan.org/pkg/ifluatex} +% \item \textsl{ifxetex}, \url{http://www.ctan.org/pkg/ifxetex} +% \item \textsl{inconsolata}, \url{http://www.ctan.org/pkg/inconsolata} +% \item \textsl{kastrup}, \url{http://www.ctan.org/pkg/kastrup} +% \item \textsl{libertine}, \url{http://www.ctan.org/pkg/libertine} +% \item \textsl{manyfoot}, \url{http://www.ctan.org/pkg/manyfoot} +% \item \textsl{microtype}, \url{http://www.ctan.org/pkg/microtype} +% \item \textsl{mptopdf}, \url{http://www.ctan.org/pkg/mptopdf} +% \item \textsl{ms}, \url{http://www.ctan.org/pkg/ms} +% \item \textsl{mweights}, \url{http://www.ctan.org/pkg/mweights} +% \item \textsl{natbib}, \url{http://www.ctan.org/pkg/natbib} +% \item \textsl{nccfoots}, \url{http://www.ctan.org/pkg/nccfoots} +% \item \textsl{newtx}, \url{http://www.ctan.org/pkg/newtx} +% \item \textsl{oberdiek}, \url{http://www.ctan.org/pkg/oberdiek} +% \item \textsl{pdftex-def}, \url{http://www.ctan.org/pkg/pdftex-def} +% \item \textsl{relsize}, \url{http://www.ctan.org/pkg/relsize} +% \item \textsl{setspace}, \url{http://www.ctan.org/pkg/setspace} +% \item \textsl{tools}, \url{http://www.ctan.org/pkg/tools} +% \item \textsl{totpages}, \url{http://www.ctan.org/pkg/totpages} +% \item \textsl{trimspaces}, \url{http://www.ctan.org/pkg/trimspaces} +% \item \textsl{upquote}, \url{http://www.ctan.org/pkg/upquote} +% \item \textsl{url}, \url{http://www.ctan.org/pkg/url} +% \item \textsl{xcolor}, \url{http://www.ctan.org/pkg/xcolor} +% \item \textsl{xkeyval}, \url{http://www.ctan.org/pkg/xkeyval} +% \end{itemize} +% +% +%\subsection{Invocation and options} +%\label{sec:invocation} +% +% To use the class put in the premable of your document +% \begin{quote} +% \cs{documentclass}\oarg{options}|{acmart}| +% \end{quote} +% There are several options corresponding to the type of the document and +% its general appearance. They are described below. Generally +% speaking, the options have |key=value| forms, for example +% \begin{verbatim} +% \documentclass[format=acmsmall, screen=true, review=false]{acmart} +% \end{verbatim} +% +% +% The option |format| describes the format of the output. There are +% several possible values for this option, for example, +% \begin{verbatim} +% \documentclass[format=acmtog]{acmart} +% \end{verbatim} +% Actually the words |format=| can be omitted, e.g., +% \begin{verbatim} +% \documentclass[acmtog, review=false]{acmart} +% \end{verbatim} +% The possible formats are listed in +% Table~\ref{tab:opts_format}. Note that formats starting with |acm| +% are intended for journals and transactions, while formats starting +% with |sig| are intended for proceedings published as books. +% +% \begin{table} +% \centering +% \caption{The possible values for the \texttt{format} option} +% \label{tab:opts_format} +% \begin{tabularx}{\textwidth}{>{\ttfamily}lX} +% \toprule +% \normalfont Value & Meaning\\ +% \midrule +% manuscript & A manuscript. This is the default \\ +% acmsmall & Small format, used for CIE, CSUR, JACM, JDIQ, JEA, JERIC, +% JETC, TAAS, TACCESS, TACO, TALG, TALLIP (formerly TALIP), TCPS, +% TEAC, TECS, TIIS, TISSEC, TIST, TKDD, TMIS, TOCE, TOCHI, TOCL, +% TOCS, TOCT, TODAES, TODS, TOIS, TOIT, TOMACS, TOMM (formerly +% TOMCCAP), TOMPECS, TOMS, TOPC, TOPLAS, TOPS, +% TOS, TOSEM, TOSN, TRETS, +% TSAS, TSC, TSLP, TWEB\@. \\ +% acmlarge & Large single colummn format, used for +% JOCCH, TAP \\ +% acmtog & Large double column format, used for +% TOG\\ +% sigconf & Proceedings format for most of ACM +% conferences (with the exceptions listed below)\\ +% siggraph & Proceedings format for SIGGRAPH and SIGGRAPH +% Asia conferences, published in ACM Transactions on Graphics +% journal issues \\ +% sigplan & Proceedings format used for SIGPLAN conferences\\ +% sigchi & Proceedings format for SIGCHI conferences\\ +% sigchi-a & Format for SIGCHI extended abstract\\ +% \bottomrule +% \end{tabularx} +% \end{table} +% +% There are several Boolean options which can take |true| or |false| +% values. They are listed in Table~\ref{tab:opts_bool}. The words +% |=true| can be omitted when setting the Boolean option, so instead of +% |screen=true| one can write just |screen|, for example, +% \begin{verbatim} +% \documentcalss[acmsmall, screen, review]{acmart} +% \end{verbatim} +% The option +% |review| is useful when combined with the |manuscript| format +% option: it provides a version suitable for reviewers and +% copyeditors. +% +% The option |screen| may in the future involve +% additional features suitable for on-screen versions of the +% articles. +% +% The option |natbib| is used when the corresponding +% \BibTeX\ style is based on |natbib|. +% +% The option |anonymous| is used +% for anonymous review process: all author information becomes +% obscured. +% +% \begin{table} +% \centering +% \caption{Boolean options} +% \label{tab:opts_bool} +% \begin{tabularx}{\textwidth}{>{\ttfamily}l>{\ttfamily}lX} +% \toprule +% \normalfont Option & \normalfont Default & Meaning\\ +% \midrule +% review & false & A review version: doublespaced, lines are +% numbered, hyperlinks are colored\\ +% screen & false & A screen version: hyperlinks are colored\\ +% natbib & false & Whether to use |natbib| package (see +% Section~\ref{sec:ug_bibliography})\\ +% anonymous & false & Whether to make author(s) anonymous\\ +% authorversion & false & Whether to generate a special +% version for authors' personal use or posting (see +% Section~\ref{sec:ug_topmatter})\\ +% \bottomrule +% \end{tabularx} +% \end{table} +% +% +% +%\subsection{Topmatter commands} +%\label{sec:ug_topmatter} +% +% A number of commands set up \emph{top matter} information, or, in +% the computer science jargon, \emph{metadata} for the article. They +% establish the publication name, article title, authors, doi and +% other data. Some of these commands, like \cs{title} or \cs{author}, +% should be put by the authors. Others, like \cs{acmVolume} or +% \cs{acmDOI}---by the editors. Below we describe these commands and +% mention who should issue them. These macros should be used +% \emph{before} the \cs{maketitle} command. Note that in the previous +% versions of ACM classes some of these commands should be used before +% \cs{maketitle}, and some after it. Now they all must be used before +% \cs{maketitle}. +% +% +% The class internally loads |amsart| class, so many top matter +% commands are inherited from |amsart|~\cite{Downes04:amsart}. +% +% \DescribeMacro{\acmJournal}% +% The macro \cs{acmJournal}\marg{shortName} sets the name of the +% journal or transaction for journals and transactions. The argument +% is the short name of the publication \emph{in uppercase}, for +% example, +% \begin{verbatim} +% \acmJournal{TOMS} +% \end{verbatim} +% The currently recognized journals are listed in +% Table~\ref{tab:pubs}. Note that conference proceedings published in +% \emph{book} form do not set this macro. +% +% \begin{table} +% \centering +% \caption{ACM publications and arguments of the \cs{acmJournal} +% command}\footnotesize +% \label{tab:pubs} +% \begin{tabularx}{\textwidth}{>{\ttfamily}lX} +% \toprule +% \normalfont Abbreviation & Publication \\ +% \midrule +% CIE & ACM Computers in Entertainment \\ +% CSUR & ACM Computing Surveys\\ +% JACM & Journal of the ACM \\ +% JDIQ & ACM Journal of Data and Information Quality \\ +% JEA & ACM Journal of Experimental Algorithmics \\ +% JERIC & ACM Journal of Educational Resources in Computing\\ +% JETC & ACM Journal on Emerging Technologies in Computing Systems \\ +% JOCCH & ACM Journal on Computing and Cultural Heritage \\ +% TAAS & ACM Transactions on Autonomous and Adaptive Systems\\ +% TACCESS & ACM Transactions on Accessible Computing\\ +% TACO & ACM Transactions on Architecture and Code Optimization \\ +% TALG & ACM Transactions on Algorithms \\ +% TALLIP & ACM Transactions on Asian and Low-Resource Language +% Information Processing\\ +% TAP & ACM Transactions on Applied Perception \\ +% TCPS & ACM Transactions on Cyber-Physical Systems\\ +% TEAC & ACM Transactions on Economics and Computation\\ +% TECS & ACM Transactions on Embedded Computing Systems \\ +% TIIS & ACM Transactions on Interactive Intelligent Systems\\ +% TISSEC & ACM Transactions on Information and System Security\\ +% TIST & ACM Transactions on Intelligent Systems and Technology \\ +% TKDD & ACM Transactions on Knowledge Discovery from Data\\ +% TMIS & ACM Transactions on Management Information Systems\\ +% TOCE & ACM Transactions on Computing Education\\ +% TOCHI & ACM Transactions on Computer-Human Interaction\\ +% TOCL & ACM Transactions on Computational Logic\\ +% TOCS & ACM Transactions on Computer Systems \\ +% TOCT & ACM Transactions on Computation Theory \\ +% TODAES & ACM Transactions on Design Automation of Electronic Systems\\ +% TODS & ACM Transactions on Database Systems\\ +% TOG & ACM Transactions on Graphics\\ +% TOIS & ACM Transactions on Information Systems\\ +% TOIT & ACM Transactions on Internet Technology\\ +% TOMACS & ACM Transactions on Modeling and Computer Simulation \\ +% TOMM & ACM Transactions on Multimedia Computing, Communications +% and Applications \\ +% TOMPECS & ACM Transactions on Modeling and Performance Evaluation +% of Computing Systems\\ +% TOMS & ACM Transactions on Mathematical Software\\ +% TOPC & ACM Transactions on Parallel Computing\\ +% TOPLAS & ACM Transactions on Programming Languages and Systems\\ +% TOPS & ACM Transactions on Privacy and Security\\ +% TOS & ACM Transactions on Storage\\ +% TOSEM & ACM Transactions on Software Engineering and Methodology\\ +% TOSN & ACM Transactions on Sensor Networks\\ +% TRETS & ACM Transactions on Reconfigurable Technology and Systems\\ +% TSAS & ACM Transactions on Spatial Algorithms and Systems\\ +% TSC & ACM Transactions on Social Computing\\ +% TSLP & ACM Transactions on Speech and Language Processing \\ +% TWEB & ACM Transactions on the Web\\ +% \bottomrule +% \end{tabularx} +% \end{table} +% +% It is expected that this command is inserted by the author of the +% manuscript when she decides to which journal to submit the +% manuscript. +% +% \DescribeMacro{\acmConference}% +% The macro +% \cs{acmConference}\oarg{short name}\marg{name}\marg{date}\marg{venue} is +% used for conference proceedings published in the book form. The +% arguments are the following: +% \begin{description} +% \item[short name:] the abbreviated name of the conference (optional). +% \item[name:] the name of the conference \emph{or} the name of the +% book as set by the editor. +% \item[date:] the date(s) of the conference. +% \item[venue:] the place of the conference. +% \end{description} +% Examples: +% \begin{verbatim} +% \acmConference[TD'15]{Technical Data Conference}{November +% 12--16}{Dallas, TX, USA} +% \acmConference{SA'15 Art Papers}{November 02--06, 2015}{Kobe, Japan} +% \end{verbatim} +% +% +% Normally this command is entered either by the editor or by the typesetter. +% +% \DescribeMacro{\title} +% The command |\title|, as in \progname{amsart} class, has two arguments: one +% optional, and one mandatory: +% \begin{flushleft} +% |\title[|\meta{ShortTitle}|]{|\meta{FullTitle}|}| +% \end{flushleft} +% The mandatory argument is the full title of the article. The +% optional argument, if present, defines the shorter version of the +% title for running heads. If the optional argument is absent, the +% full title is used instead. +% +% It is expected that this command is inserted by the author of the +% manuscript. +% +% \DescribeMacro{\subtitle}% +% Besides title, ACM classes allow subtitle, set with the +% \cs{subtitle}\marg{subtitle} macro. +% +% \DescribeMacro{\author}% +% \DescribeMacro{\affiliation}% +% \DescribeMacro{\email}% +% The interface for specifying the authors and their affiliations is +% close the the one of \progname{amsart}~\cite{instr-l} (and different +% from the standard \LaTeX). For each author a separate command +% |\author| should be used, followed by |\affliation| and |\email|. +% If several authors share affiliations, in journal formats like +% |acmsmall| or |acmlarge| one may put the +% affiliation after all these authors, for example: +% \begin{verbatim} +% \author{A. U. Thor} +% \email{author@nsw.au.edu} +% \affiliation{University of New South Wales} +% \author{A. N. Other} +% \author{C. O. Respondent} +% \affiliation{University of Pennsylvania} +% \end{verbatim} +% In the cases of overlapping affiliations it is advisable to repeat +% the full list, for example, +% \begin{verbatim} +% \author{A. U. Thor} +% \affiliation{University of New South Wales, Australia} +% \email{author@nsw.edu.au} +% \author{A. N. Other} +% \affiliation{University of Pennsylvania, USA and University of New South +% Wales, Australia} +% \email{other@upenn.edu} +% \end{verbatim} +% For \emph{conferences} the affiliations should \emph{always} be +% repeated, even if they are shared between the authors. +% +% Note that old ACM conference formats did not allow for more than six +% authors and required some efforts from the authors to achieve +% alignment. The new format is much better in this. +% +% +% +% It is expected that these commands are inserted by the author of the +% manuscript. +% +% \DescribeMacro{\thanks} +% Like \progname{amsart} (and unlike standard \LaTeX{}), +% we allow |\thanks| only \emph{outside} of +% commands |\title| and |\author|. Example: +% \begin{verbatim} +% \thanks{This work is supported by the Widget Corporation Grant +% \#312-001.\\ +% Author's address: D. Pineo, Kingsbury Hall, 33 Academic Way, Durham, +% N.H. 03824; email: dspineo@comcast.net; Colin Ware, Jere A. Chase +% Ocean Engineering Lab, 24 Colovos Road, Durham, NH 03824; email: +% cware@ccom.unh.edu; +% Sean Fogarty, (Current address) NASA Ames Research Center, Moffett +% Field, California 94035.} +% \end{verbatim} +% +% It is expected that this command is inserted by the author of the +% manuscript. +% +% \DescribeMacro{\titlenote}% +% \DescribeMacro{\subtitlenote}% +% \DescribeMacro{\authornote}% +% While the command \cs{thanks} generates a note without footnote +% mark, sometimes the authors might need notes more tightly connected +% to the title, subtitle or author. The commands \cs{titlenote}, +% \cs{subtitlenote} and \cs{authornote} that follow the corresponding +% commands (\cs{title}, \cs{subtitle} and \cs{author}) generate such +% notes, for example +% \begin{verbatim} +% \title{This is a title} +% \titlenote{This is a titlenote} +% \author{A. U. Thor} +% \authornote{This is an authornote} +% \end{verbatim} +% +% +% \DescribeMacro{\acmVolume}% +% \DescribeMacro{\acmNumber}% +% \DescribeMacro{\acmArticle}% +% \DescribeMacro{\acmYear}% +% \DescribeMacro{\acmMonth}% +% The macros \cs{acmVolume}, \cs{acmNumber}, \cs{acmArticle}, +% \cs{acmYear} and \cs{acmMonth} are inserted by the editor and set +% the journal volume, issue, article number, year and month +% corrspondingly. The arguments of all these commands, including +% \cs{acmMonth} is numerical, including \cs{acmMonth}, for example, +% \begin{verbatim} +% \acmVolume{9} +% \acmNumber{4} +% \acmArticle{39} +% \acmYear{2010} +% \acmMonth{3} +% \end{verbatim} +% +% \DescribeMacro{\acmArticleSeq}% +% The articles in the same issue of a journal have \emph{sequential +% number}. It is used to position black blob in same formats. By +% default it is the same as article number, but the command +% \cs{acmArticleSeq}\marg{n} can be used to change it: +% \begin{verbatim} +% \acmArticle{39} % The sequence number will be 39 by default +% \acmArticleSeq{5} % We rededine it to 5 +% \end{verbatim} +% +% +% +% \DescribeMacro{\acmPrice}% +% The macro \cs{acmPrice}\marg{price} sets the price for the article +% (by default 15.00), for example, +% \begin{verbatim} +% \acmPrice{25.00} +% \end{verbatim} +% +% +% \DescribeMacro{\acmISBN}% +% Book-like volumes have ISBN numbers attached to them. The macro +% \cs{acmISBN}\marg{ISBN} sets it. Normally it is set by the +% typesetter, for example, +% \begin{verbatim} +% \acmISBN{978-1-4503-3916-2} +% \end{verbatim} +% +% +% \DescribeMacro{\acmDOI}% +% The macro \cs{acmDOI}\marg{DOI} sets the DOI number of the article, for +% example, +% \begin{verbatim} +% \acmDOI{10.1145/9999997.9999999} +% \end{verbatim} +% It is normally set by the typesetter. +% +% +% \DescribeMacro{\acmBadgeR}% +% \DescribeMacro{\acmBadgeL}% +% Some conference articles get special distinction, for example, the +% artifact evaluation for PPoPP~2016 +% (see~\url{http://ctuning.org/ae/ppopp2016.html}). These articles +% display special badges supplied by the conference organizers. The +% class provides commands to add these badges: +% \cs{acmBadgeR}\oarg{url}\marg{graphics} and +% \cs{acmBadgeL}\oarg{url}\marg{graphics}. The first command puts the +% badge to the right of the title, and the second one---to the left. +% The exception is the |sigchi-a| mode for SIGCHI Extended abstract, +% which puts the badges on the left margin. The argument have the +% following meaning: \oarg{url}, if provided, sets the link to the +% badge authority in the screen version, while \marg{graphics} sets +% the graphics file with the badge image. The file must be a cropped +% square, which is scaled to a standard size in the output. For +% example, if the badge image is |ae-logo.pdf|, the command is +% \begin{verbatim} +% \acmBadgeR[http://ctuning.org/ae/ppopp2016.html]{ae-logo} +% \end{verbatim} +% +% +% +% \DescribeMacro{\startPage}% +% The macro \cs{startPage}\marg{page} sets the first page of the +% article in the journal or book. It is used by the typesetter. +% +% +% \DescribeMacro{\terms}% +% \DescribeMacro{\keywords}% +% The macros \cs{terms}\marg{term, term,\ldots} and +% \cs{keywords}\marg{keyword, keyword,\ldots} set the main terms and +% the additional keywords for the article. Term and keywords must be +% separated by commas, for example, +% \begin{verbatim} +% \terms{wireless, interference} +% \keywords{wireless sensor networks, media access control, +% multi-channel, radio interference, time synchronization} +% \end{verbatim} +% +% \DescribeEnv{CCSXML}% +% \DescribeMacro{\ccsdesc}% +% ACM publications are classified according to the ACM Computing +% Classification Scheme (CCS). CCS codes are used both in the typeset +% version of the publications \emph{and} in the metadata in the various +% databases. Therefore you need to provide both \TeX\ commands and XML +% metadata with the paper. +% +% The tool at \url{http://dl.acm.org/ccs.cfm} can be used to generate +% CCS codes. After you select the topics, click on ``Generate CCS +% codes'' to get the result like the following: +% \begin{verbatim} +% \begin{CCSXML} +% <ccs2012> +% <concept> +% <concept_id>10010520.10010553.10010562</concept_id> +% <concept_desc>Computer systems organization~Embedded systems</concept_desc> +% <concept_significance>500</concept_significance> +% </concept> +% <concept> +% <concept_id>10010520.10010575.10010755</concept_id> +% <concept_desc>Computer systems organization~Redundancy</concept_desc> +% <concept_significance>300</concept_significance> +% </concept> +% <concept> +% <concept_id>10010520.10010553.10010554</concept_id> +% <concept_desc>Computer systems organization~Robotics</concept_desc> +% <concept_significance>100</concept_significance> +% </concept> +% <concept> +% <concept_id>10003033.10003083.10003095</concept_id> +% <concept_desc>Networks~Network reliability</concept_desc> +% <concept_significance>100</concept_significance> +% </concept> +% </ccs2012> +% \end{CCSXML} +% +% \ccsdesc[500]{Computer systems organization~Embedded systems} +% \ccsdesc[300]{Computer systems organization~Redundancy} +% \ccsdesc{Computer systems organization~Robotics} +% \ccsdesc[100]{Networks~Network reliability} +% \end{verbatim} +% +% You need to just copy this code and paste it in your paper anywhere +% before \verb|\maketitle|. +% +% \DescribeMacro{\setcopyright} +% There are several possibilities for the copyright of the papers +% published by ACM: the authors may transfer the rights to ACM, license +% them to ACM, some or all authors might be employees of the US or +% Canada Government, etc. Accordingly the command +% \verb|\setcopyright{...}| is introduced. Its argument is the +% copyright status of the paper, for example, +% \verb|\setcopyright{acmcopyright}|. The possible values for this +% command are listed in Table~\ref{tab:setcopyright}. +% +% \begin{table} +% \centering +% \caption{Parameters for \texttt{\textbackslash setcopyright} command} +% \label{tab:setcopyright} +% \begin{tabularx}{\textwidth}{lX} +% \toprule +% Parameter & Meaning\\ +% \midrule +% \texttt{none} & The copyright and permission information is not +% typeset (this is the option for some ACM conferences). \\ +% \texttt{acmcopyright} & The authors transfer the copyright to ACM +% (the ``traditional'' choice).\\ +% \texttt{acmlicensed} & The authors retain the copyright but +% license the publication rights to ACM\@. \\ +% \texttt{rightsretained} & The authors retain the copyright and +% publication rights to themselves or somebody else. \\ +% \texttt{usgov} & All the authors are employees of the US +% Government. \\ +% \texttt{usgovmixed} & Some authors are employees of the US +% Government. \\ +% \texttt{cagov} & All the authors are employees of the Canadian +% Government. \\ +% \texttt{cagovmixed} & Some authors are employees of the Canadian +% Government. \\ +% \bottomrule +% \end{tabularx} +% \end{table} +% The ACM submission software should generate the right command for you +% to paste into your file. +% +% +% \DescribeMacro{\copyrightyear}% +% Each copyright statement must have the year of copyright. By +% default it is the same as \cs{acmYear}, but you can override this +% decision using the macro \cs{copyrightyear}, e.g., +% \begin{verbatim} +% \acmYear{2016} +% \copyrightyear{2015} +% \end{verbatim} +% +% There is a special case for a personal copy that the authors may be +% allowed to generate for their use or a posting on a personal site +% (check the instructions for the specific journal or conference for +% the details). The document option |authorversion=true| produces the +% special form of the copyright statement for this case. Note that +% you still need the \cs{setcopyright} command and (optionally) +% \cs{authoryear} command to tell \TeX\ about the copyright owner and +% year. Also, you should be aware that due to the different sizes of +% the permssion blocks for the printed version and authors' version +% the page breaks might be different between them. +% +% \DescribeEnv{abstract}% +% The environment |abstract| must \emph{precede} \cs{maketitle} +% command. Again, this is different from the standard \LaTeX. +% +% +% \DescribeEnv{teaserfigure}% +% A special kind of figure is used for many two-column conference +% proceedings. This figure is placed just after the authors, but +% before the main text. The environment |teaserfigure| is used for these +% figures. This environment must be used \emph{before} +% \cs{maketitle}, for example, +% \begin{verbatim} +% \begin{teaserfigure} +% \includegraphics[width=\textwidth]{sampleteaser} +% \caption{This is a teaser} +% \label{fig:teaser} +% \end{teaserfigure} +% \end{verbatim} +% +% +% \DescribeMacro{\settopmatter}% +% Some information in the top matter is printed for certain journals +% or proceedings and suppressed for others. You may override these +% defaults using the command \cs{settopmatter}\marg{settings}. The +% settings and their meanings are listed in +% Table~\ref{tab:settopmatter}. For example, +% \begin{verbatim} +% \settopmatter{printbib=false, printccs=true} +% \end{verbatim} +% +% +% \begin{table} +% \centering +% \caption{Settings for \cs{settopmatter} command} +% \label{tab:settopmatter} +% \begin{tabularx}{\textwidth}{llX} +% \toprule +% Parameter & Values & Meaning\\ +% \midrule +% printccs & true/false & Whether to print CCS categories\\ +% printbib & true/false & Whether to print ACM bibliographic +% entry\\ +% \bottomrule +% \end{tabularx} +% \end{table} +% +% +% \DescribeMacro{\received}% +% The command \cs{received}\marg[stage]\oarg{date} sets the history of +% the publication. The \marg{stage} argument is optional; the default +% is |Received| for the first date and |revised| for the subsequent +% ones. For example +% \begin{verbatim} +% \received{February 2007} +% \received[revised]{March 2009} +% \received[accepted]{June 2009} +% \end{verbatim} +% +% +% \DescribeMacro{\maketitle}% +% The macro \cs{maketitle} must be the last command in the top matter +% group: i.e., it must follow the commands defined in this section. +% +% +% \DescribeMacro{\shortauthors}% +% \emph{After} the command \cs{maketitle} the macro \cs{shortauthors} +% stores the names of the authors for the running head. You may +% redefine it if the list of author's name is too long, e.g., +% \begin{verbatim} +% \maketitle +% \renewcommand{\shortauthors}{Zhou et. al.} +% \end{verbatim} +% +% +%\subsection{Algorithms} +%\label{sec:ug_algorithms} +% +% There now several good packages for typesetting +% algorithms~\cite{Fiorio15, Brito09, Heinz15}, and the authors are +% now free to choose their favorite one. +% +% +% +%\subsection{Figures and tables} +%\label{sec:ug_floats} +% +% New ACM styles use the standard \LaTeX\ interface for figures and +% tables. There are some important items to be aware of, however. +% +% \begin{enumerate} +% \item The captions for figures must be intered \emph{after} the +% figure bodies, and for the tables \emph{before} the table bodies. +% \item ACM uses the standard types for figures and types and adds +% several new ones. In total there are follwing types: +% \begin{description} +% \item[figure, table:] a standard figure or table, taking full text +% width in one-column formats and one column in two-column formats. +% \item[figure*, table*] in two-column formats, a special figure or +% table taking full text width. +% \item[teaserfigure:] a special figure before \cs{maketitle}. +% \item[sidebar, marginfigure, margintable:] in the |sigchi-a| format, +% special sidebars, tables and figures on the margin. +% \end{description} +% +% \item Accordingly, when scaling the images, one should use the +% following sizes: +% \begin{enumerate} +% \item For |figure| in one-column mode, |figure*| in two-column mode +% or |teaserfigure|---\cs{textwidth} (in the one-column you can also +% use \cs{columnwidth}, which coincides with \cs{textwidth} in this +% case). +% \item For |figure| in two-column mode---\cs{columnwidth}. +% \item For |marginfigure|--\cs{marginparwidth}. +% \item For |figure*| in SIGCHI Extended +% abstracts---\cs{fulltextwidth}. +% \end{enumerate} +% +% \end{enumerate} +% +% It is strongly recommended to use the package booktabs~\cite{Fear05} +% and follow its main principles of typography with respect to tables: +% \begin{enumerate} +% \item Never, ever use vertical rules. +% \item Never use double rules. +% \end{enumerate} +% It is also a good idea not to overuse horizontal rules. +% +% For table \emph{footnotes} you have several options described in TeX +% FAQ~\cite{TeXFAQ}. The simplest one is to use \cs{minipage} +% environment: +% \begin{verbatim} +% \begin{table} +% \caption{Simulation Configuration} +% \label{tab:conf} +% \begin{minipage}{\columnwidth} +% \begin{center} +% \begin{tabular}{ll} +% \toprule +% TERRAIN\footnote{This is a table footnote. This is a +% table footnote. This is a table footnote.} & +% (200\,m$\times$200\,m) Square\\ +% Node Number & 289\\ +% Node Placement & Uniform\\ +% Application & Many-to-Many/Gossip CBR Streams\\ +% Payload Size & 32 bytes\\ +% Routing Layer & GF\\ +% MAC Layer & CSMA/MMSN\\ +% Radio Layer & RADIO-ACCNOISE\\ +% Radio Bandwidth & 250Kbps\\ +% Radio Range & 20m--45m\\ +% \bottomrule +% \end{tabular} +% \end{center} +% \bigskip +% \footnotesize\emph{Source:} This is a table +% sourcenote. This is a table sourcenote. This is a table +% sourcenote. +% +% \emph{Note:} This is a table footnote. +% \end{minipage} +% \end{table} +% \end{verbatim} +% +% \DescribeEnv{sidebar}% +% \DescribeEnv{marginfigure}% +% \DescribeEnv{margintable}% +% SIGCHI extended abstract extensively uses margin space. The package +% provides three environments for this with option captions: +% \begin{description} +% \item[sidebar:] textual information on the margin +% \item[marginfigure:] a figure on the margin +% \item[margintable:] a table on the margin +% \end{description} +% +% +%\subsection{Theorems} +%\label{sec:ug_theorems} +% +% ACM classes define two theorem styles and several pre-defined +% theorem environments: +% \begin{description} +% \item[acmplain:] this is the style used for +% |theorem|, +% |conjecture|, +% |proposition|, +% |lemma|, +% |corollary|, and +% \item[acmdefinition:] this is the style used for |example| and +% |definition|. +% \end{description} +% +% +% +%\subsection{Online-only and offline-only material} +%\label{sec:ug_screen} +% +% \DescribeEnv{printonly}% +% \DescribeEnv{screenonly}% +% Some supplementary material in ACM publication is put online, but +% not in the printed version. The text inside the environment +% |screenonly| will be typeset only when the option |screen| (see +% Section~\ref{sec:invocation}) is set to |true|. Conversely, the +% text inside the environment |printonly| is typset only when this +% option is set to |false|. For example +% \begin{verbatim} +% \section{Supplementary materials} +% +% \begin{printonly} +% This section is included in the online version of the paper. +% \end{printonly} +% +% \begin{screenonly} +% (The actual section). +% \end{screenonly} +% +% \end{verbatim} +% +% +% +%\subsection{Note about anonymous mode} +%\label{sec:ug_anonymous} +% +% \DescribeEnv{anonsuppress}% +% When the option |anonymous| is selected, \TeX\ suppresses author +% information (including number of authors) for a blind review. +% However, sometimes the information identifying the authors may be +% present in the body of the paper, for example, in the +% acknowledgements. The environment |anonsuppress| is used to +% suppress such information, for example +% \begin{verbatim} +% \section*{Acknowledgements} +% \begin{anonsuppress} +% The authors wish to thank Prof. C.~O.~Lleague for her generous +% advices and the Society for Development of Oort Cloud for the +% financial support. +% \end{anonsuppress} +% \end{verbatim} +% +% +%\subsection{Bibliography} +%\label{sec:ug_bibliography} +% +% The Boolean option |natbib| selects whether to use |natbib| package +% for bibliography. If you use |natbib|, then commands like +% \cs{citep} and \cs{citeauthor} are automatically supported. You may +% customize \cs{natbib} using \cs{setcitestyle} command, for example, +% \begin{verbatim} +% \setcitestyle{numbers,sort&compress} +% \end{verbatim} +% +% +% ACM journals use |natbib| and the style +% |ACM-Reference-Format-Journals|. +% +% Most ACM conference proceedings do \emph{not} use |natbib|. +% SIGGRAPH conferences use |acmsiggraph| style. SIGCHI conferences +% use |SIGCHI-Reference-Format| style. The other conferences employ +% one of the four styles: +% \begin{enumerate} +% \item acm-abbrv +% \item acm-alpha +% \item acm-plain +% \item acm-unsrt +% \end{enumerate} +% The author should consult specific instructions about the +% style to choose. +% +% +% +%\subsection{Colors} +%\label{sec:ug_colors} +% +% While printed ACM publications are usually black and white, screen +% mode allows the use of colors. The ACM classes pre-define several +% colors according to~\cite{ACMIdentityStandards}: |ACMBlue|, +% |ACMYellow|, |ACMOrange|, |ACMRed|, |ACMLightBlue|, |ACMGreen|, +% |ACMPurple|, |ACMDarkBlue|. You can use them in the color +% assignments. +% +% +% \StopEventually{ +% \clearpage +% \bibliography{acmart} +% \bibliographystyle{unsrt}} +% +% \clearpage +% +% +%\section{Implementation} +%\label{sec:impl} +% +%\subsection{Identification} +%\label{sec:ident} +% +% We start with the declaration who we are. Most |.dtx| files put +% driver code in a separate driver file |.drv|. We roll this code into the +% main file, and use the pseudo-guard |<gobble>| for it. +% \begin{macrocode} +%<class>\NeedsTeXFormat{LaTeX2e} +%<*gobble> +\ProvidesFile{acmart.dtx} +%</gobble> +%<class>\ProvidesClass{acmart} +[2016/05/03 v1.07 Typesetting articles for Association of +Computing Machinery] +% \end{macrocode} +% +% \changes{v1.00}{2016/04/14}{First released version} +% \changes{v1.01}{2016/04/18}{Defined ACM colors} +% \changes{v1.01}{2016/04/18}{Changed hyperref colors in screen mode +% (closes \url{https://github.com/borisveytsman/acmart/issues/1})} +% \changes{v1.01}{2016/04/18}{Set headheight to 1pc for all formats +% (closes \url{https://github.com/borisveytsman/acmart/issues/5})} +% \changes{v1.02}{2016/04/21}{Documentation changes +% (closes \url{https://github.com/borisveytsman/acmart/issues/13})} +% \changes{v1.02}{2016/04/21}{Added TOPS and TSC +% (closes \url{https://github.com/borisveytsman/acmart/issues/12})} +% \changes{v1.03}{2016/04/22}{Added authorversion option +% (closes \url{https://github.com/borisveytsman/acmart/issues/9})} +% \changes{v1.03}{2016/04/22}{Added anonsuppress environment} +% \changes{v1.04}{2016/04/26}{Updated bibliography for siggraph} +% \changes{v1.05}{2016/04/27}{Patched \cs{setcitestyle} command; +% closes \url{https://github.com/borisveytsman/acmart/issues/19}} +% \changes{v1.05}{2016/04/27}{Added processing doi numbers for +% acmsiggraph and doi numbers for sigproc.bib} +% +% +% And the driver code: +% \begin{macrocode} +%<*gobble> +\documentclass{ltxdoc} +\usepackage{array,booktabs,amsmath,graphicx,fancyvrb,tabularx} +\usepackage[tt=false]{libertine} +\usepackage[varqu]{zi4} +\usepackage[libertine]{newtxmath} +\usepackage[tableposition=top]{caption} +\usepackage{hypdoc} +\PageIndex +\CodelineIndex +\RecordChanges +\EnableCrossrefs +\begin{document} + \DocInput{acmart.dtx} +\end{document} +%</gobble> +%<*class> +\def\@classname{acmart} +% \end{macrocode} +% +% \subsection{Options} +% \label{sec:options} +% +% We need |xkeyval| since some of our options may have values: +% \begin{macrocode} +\RequirePackage{xkeyval} +% \end{macrocode} +% +% \begin{macro}{format} +% The possible formats +% \begin{macrocode} +\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{% + manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, + sigplan, sigchi, sigchi-a}[manuscript]{}{% + \ClassError{\@classname}{The option format must be manuscript, + acmsmall, acmlarge, acmtog, sigconf, siggraph, + sigplan, sigchi or sigchi-a}} +\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}} +\@DeclareACMFormat{manuscript} +\@DeclareACMFormat{acmsmall} +\@DeclareACMFormat{acmlarge} +\@DeclareACMFormat{acmtog} +\@DeclareACMFormat{sigconf} +\@DeclareACMFormat{siggraph} +\@DeclareACMFormat{sigplan} +\@DeclareACMFormat{sigchi} +\@DeclareACMFormat{sigchi-a} +\ExecuteOptionsX{format} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\if@ACM@screen} +% Whether we use screen mode +% \begin{macrocode} +\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{% + \if@ACM@screen + \PackageInfo{\@classname}{Using screen mode}% + \else + \PackageInfo{\@classname}{Not using screen mode}% + \fi}{\PackageError{\@classname}{Option screen can be either true or + false}} +\ExecuteOptionsX{screen=false} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\if@ACM@review} +% Whether we use review mode +% \begin{macrocode} +\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{% + \if@ACM@review + \PackageInfo{\@classname}{Using review mode}% + \else + \PackageInfo{\@classname}{Not using review mode}% + \fi}{\PackageError{\@classname}{Option review can be either true or + false}} +\ExecuteOptionsX{review=false} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\if@ACM@authorversion} +% \changes{v1.03}{2016/04/22}{Added macro} +% Whether we use author's version +% \begin{macrocode} +\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{% + \if@ACM@authorversion + \PackageInfo{\@classname}{Using authorversion mode}% + \else + \PackageInfo{\@classname}{Not using authorversion mode}% + \fi}{\PackageError{\@classname}{Option authorversion can be either true or + false}} +\ExecuteOptionsX{authorversion=false} +% \end{macrocode} +% +% \end{macro} +% +% +% +% \begin{macro}{\if@ACM@natbib} +% Whether we use natbib mode +% \begin{macrocode} +\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% + \if@ACM@natbib + \PackageInfo{\@classname}{Using natbib mode}% + \else + \PackageInfo{\@classname}{Not using natbib mode}% + \fi}{\PackageError{\@classname}{Option natbib can be either true or + false}} +\ExecuteOptionsX{natbib=false} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\if@ACM@anonymous} +% Whether we use anonymous mode +% \begin{macrocode} +\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{% + \if@ACM@anonymous + \PackageInfo{\@classname}{Using anonymous mode}% + \else + \PackageInfo{\@classname}{Not using anonymous mode}% + \fi}{\PackageError{\@classname}{Option anonymous can be either true or + false}} +\ExecuteOptionsX{anonymous=false} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\ACM@fontsize} +% The font size to pass to the base class +% \begin{macrocode} +\def\ACM@fontsize{} +\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}} +\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}} +\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}} +\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}} +% \end{macrocode} +% +% \end{macro} +% +% +% \changes{v1.01}{2016/04/18}{Explicitly put draft option +% (closes \url{https://github.com/borisveytsman/acmart/issues/4})} +% +% \begin{macrocode} +\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}} +\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} +\ProcessOptionsX +\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr} +% \end{macrocode} +% +% +% +%\subsection{Setting switches} +%\label{sec:switches} +% +% \begin{macro}{\if@ACM@manuscript} +% Whether we use manuscript mode +% \begin{macrocode} +\newif\if@ACM@manuscript +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\if@ACM@journal} +% There are two kinds of publications: journals and books +% \begin{macrocode} +\newif\if@ACM@journal +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\if@ACM@sigchiamode} +% The formatting of SIGCHI abstracts is quite unusual. We have a +% special switch for them. +% \begin{macrocode} +\newif\if@ACM@sigchiamode +% \end{macrocode} +% +% \end{macro} +% +% +% Setting up switches +% \begin{macrocode} +\ifnum\ACM@format@nr=0\relax + \@ACM@manuscripttrue +\else + \@ACM@manuscriptfalse +\fi +\@ACM@sigchiamodefalse +\ifcase\ACM@format@nr +\relax % manuscript + \@ACM@journaltrue +\or% acmsmall + \@ACM@journaltrue +\or % acmlarge + \@ACM@journaltrue +\or % acmtog + \@ACM@journaltrue +\or % sigconf + \@ACM@journalfalse +\or % siggraph + \@ACM@journalfalse + \or % sigplan + \@ACM@journalfalse + \or % sigchi + \@ACM@journalfalse +\or % sigchi-a + \@ACM@journalfalse + \@ACM@sigchiamodetrue +\fi +% \end{macrocode} +% +% +%\subsection{Loading base class and package} +%\label{sec:loading} +% +% +% At this point we either have \cs{ACM@fontsize}, or use defaults +% \begin{macrocode} +\ifx\ACM@fontsize\@empty + \ifcase\ACM@format@nr + \relax % manuscript + \def\ACM@fontsize{9pt}% + \or% acmsmall + \def\ACM@fontsize{10pt}% + \or % acmlarge + \def\ACM@fontsize{9pt}% + \or % acmtog + \def\ACM@fontsize{9pt}% + \or % sigconf + \def\ACM@fontsize{9pt}% + \or % siggraph + \def\ACM@fontsize{9pt}% + \or % sigplan + \def\ACM@fontsize{9pt}% + \or % sigchi + \def\ACM@fontsize{10pt}% + \or % sigchi-a + \def\ACM@fontsize{10pt}% + \fi +\fi +\ClassInfo{\@classname}{Using fontsize \ACM@fontsize} +\LoadClass[\ACM@fontsize, reqno]{amsart} +\RequirePackage{microtype} +% \end{macrocode} +% +% +% We need |totpages| package to calculate the number of pages +% \begin{macrocode} +\RequirePackage{totpages} +% \end{macrocode} +% +% The |amsmath| \cs{collect@body} is defined using \cs{def}. We load +% |environ| to access the \cs{long} version of the command +% \begin{macrocode} +\RequirePackage{environ} +% \end{macrocode} +% +% We use |setspace| for doublespacing +% \begin{macrocode} +\if@ACM@manuscript +\RequirePackage{setspace} +\onehalfspacing +\fi +% \end{macrocode} +% +% Citations. We patch \cs{setcitestyle} to allow, e.g., +% \cs{setcitestyle}|{sort}| and \cs{setcitestyle}|{nosort}| +% \begin{macrocode} +\if@ACM@natbib + \RequirePackage{natbib} + \renewcommand{\bibfont}{\bibliofont} + \renewcommand\setcitestyle[1]{ + \@for\@tempa:=#1\do + {\def\@tempb{round}\ifx\@tempa\@tempb + \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi + \def\@tempb{square}\ifx\@tempa\@tempb + \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi + \def\@tempb{angle}\ifx\@tempa\@tempb + \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi + \def\@tempb{curly}\ifx\@tempa\@tempb + \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi + \def\@tempb{semicolon}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{;}\fi + \def\@tempb{colon}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{;}\fi + \def\@tempb{comma}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{,}\fi + \def\@tempb{authoryear}\ifx\@tempa\@tempb + \NAT@numbersfalse\fi + \def\@tempb{numbers}\ifx\@tempa\@tempb + \NAT@numberstrue\NAT@superfalse\fi + \def\@tempb{super}\ifx\@tempa\@tempb + \NAT@numberstrue\NAT@supertrue\fi + \def\@tempb{nobibstyle}\ifx\@tempa\@tempb + \let\bibstyle=\@gobble\fi + \def\@tempb{bibstyle}\ifx\@tempa\@tempb + \let\bibstyle=\@citestyle\fi + \def\@tempb{sort}\ifx\@tempa\@tempb + \def\NAT@sort{\@ne}\fi + \def\@tempb{nosort}\ifx\@tempa\@tempb + \def\NAT@sort{\z@}\fi + \def\@tempb{compress}\ifx\@tempa\@tempb + \def\NAT@cmprs{\@ne}\fi + \def\@tempb{nocompress}\ifx\@tempa\@tempb + \def\NAT@cmprs{\@z}\fi + \def\@tempb{sort&compress}\ifx\@tempa\@tempb + \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi + \def\@tempb{mcite}\ifx\@tempa\@tempb + \let\NAT@merge\@ne\fi + \def\@tempb{merge}\ifx\@tempa\@tempb + \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi + \def\@tempb{elide}\ifx\@tempa\@tempb + \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi + \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb + \NAT@longnamestrue\fi + \def\@tempb{nonamebreak}\ifx\@tempa\@tempb + \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi + \expandafter\NAT@find@eq\@tempa=\relax\@nil + \if\@tempc\relax\else + \expandafter\NAT@rem@eq\@tempc + \def\@tempb{open}\ifx\@tempa\@tempb + \xdef\NAT@open{\@tempc}\fi + \def\@tempb{close}\ifx\@tempa\@tempb + \xdef\NAT@close{\@tempc}\fi + \def\@tempb{aysep}\ifx\@tempa\@tempb + \xdef\NAT@aysep{\@tempc}\fi + \def\@tempb{yysep}\ifx\@tempa\@tempb + \xdef\NAT@yrsep{\@tempc}\fi + \def\@tempb{notesep}\ifx\@tempa\@tempb + \xdef\NAT@cmt{\@tempc}\fi + \def\@tempb{citesep}\ifx\@tempa\@tempb + \xdef\NAT@sep{\@tempc}\fi + \fi + }% + \NAT@@setcites + } + \setcitestyle{% + open={[},close={]},citesep={;},% + authoryear,aysep={},yysep={,},% + notesep={, }} +\fi +% \end{macrocode} +% +% Before we call |hyperref|, we redefine \cs{startsection} commands to +% their \LaTeX\ defaults, since |amsart| ones are too AMS-specific. +% We need to do this early since we want |hyperref| to have a chance +% to redefine them again: +% \begin{macrocode} +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par + \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \else + \addpenalty\@secpenalty\addvspace\@tempskipa + \fi + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup + #6{% + \@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M #8\@@par}% + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}% + \fi + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\@M + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +\def\@seccntformat#1{\csname the#1\endcsname\quad} +\def\@ssect#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup + #4{% + \@hangfrom{\hskip #1}% + \interlinepenalty \@M #5\@@par}% + \endgroup + \else + \def\@svsechd{#4{\hskip #1\relax #5}}% + \fi + \@xsect{#3}} +% \end{macrocode} +% +% +% And |hyperref| +% \begin{macrocode} +\let\@footnotemark@nolink\@footnotemark +\let\@footnotetext@nolink\@footnotetext +\RequirePackage{hyperref} +\if@ACM@sigchiamode + \urlstyle{sf} +\else + \urlstyle{rm} +\fi +\if@ACM@screen + \hypersetup{colorlinks, + linkcolor=ACMRed, + citecolor=ACMPurple, + urlcolor=ACMDarkBlue, + filecolor=ACMDarkBlue} +\else + \hypersetup{hidelinks} +\fi +% \end{macrocode} +% +% Bibliography mangling. Siggraph does not want the label. +% \begin{macrocode} +\if@ACM@natbib + \let\citeN\cite + \let\cite\citep + \let\citeANP\citeauthor + \let\citeNN\citeyearpar + \let\citeyearNP\citeyear + \let\citeyear\citeyearpar + \let\citeNP\citealt + \def\shortcite#1{\citeyear{#1}} + \DeclareRobustCommand\citeA + {\begingroup\NAT@swafalse + \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp} + \providecommand\newblock{} +\else + \providecommand\citename[1]{#1} +\fi +\ifcase\ACM@format@nr +\relax % manuscript +\or% acmsmall +\or % acmlarge +\or % acmtog +\or % sigconf +\or % siggraph + \def\@biblabel#1{} + \ifx\bibhang\@undefined + \newlength\bibhang + \fi + \setlength{\bibhang}{1em} + \renewenvironment{thebibliography}[1]{% + \@bibtitlestyle + \normalfont\bibliofont\labelsep .5em\relax + \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty + \list{\@biblabel{\theenumiv}}{\labelwidth\z@ + \setlength{\itemindent}{-\bibhang}% + \setlength{\leftmargin}{\bibhang}% + \labelsep\z@ + \def\newblock{\hskip .11em plus .33em minus .07em}% + \usecounter{enumiv}}% + \sloppy \clubpenalty\@M \widowpenalty\clubpenalty + \sfcode`\.=\@m + }{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist + } +\or % sigplan +\or % sigchi +\or % sigchi-a +\fi +% \end{macrocode} +% +% Graphics and color +% \begin{macrocode} +\RequirePackage{graphicx, xcolor} +% \end{macrocode} +% +% We define ACM colors according to~\cite{ACMIdentityStandards}: +% \begin{macrocode} +\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1} +\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0} +\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01} +\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0} +\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0} +\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19} +\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15} +\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21} +% \end{macrocode} +% +% +%\subsection{Paper size and paragraphing} +%\label{sec:paper} +% +% We use |geometry| for dimensions +% \begin{macrocode} +\RequirePackage{geometry} +\ifcase\ACM@format@nr +\relax % manuscript + \geometry{letterpaper,head=1pc}% +\or% acmsmall + \geometry{twoside=true, + includeheadfoot, head=1pc, foot=2pc, + paperwidth=6.75in, paperheight=10in, + top=58pt, bottom=44pt, inner=46pt, outer=46pt + }% +\or % acmlarge + \geometry{twoside=true, head=1pc, foot=2pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, + top=78pt, bottom=114pt, inner=81pt, outer=81pt + }% +\or % acmtog + \geometry{twoside=true, head=1pc, foot=2pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, columnsep=24pt, + top=52pt, bottom=75pt, inner=52pt, outer=52pt + }% +\or % sigconf + \geometry{twoside=true, head=1pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, columnsep=2pc, + top=57pt, bottom=75pt, inner=54pt, outer=57pt + }% +\or % siggraph + \geometry{twoside=true, head=1pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, columnsep=2pc, + top=57pt, bottom=75pt, inner=54pt, outer=57pt + }% +\or % sigplan + \geometry{twoside=true, head=1pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, columnsep=2pc, + top=74pt, bottom=70pt, inner=54pt, outer=54pt + }% +\or % sigchi + \geometry{twoside=true, head=1pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, columnsep=2pc, + top=66pt, bottom=78pt, inner=54pt, outer=48pt + }% +\or % sigchi-a + \geometry{twoside=false, head=1pc, + paperwidth=11in, paperheight=8.5in, + includeheadfoot, marginparsep=72pt, + marginparwidth=170pt, columnsep=20pt, + top=72pt, bottom=72pt, left=314pt, right=72pt + }% + \@mparswitchfalse + \reversemarginpar +\fi +% \end{macrocode} +% +% +% \begin{macro}{\parindent} +% \begin{macro}{\parskip} +% Paragraphing +% \begin{macrocode} +\setlength\parindent{10\p@} +\setlength\parskip{\z@} +\ifcase\ACM@format@nr +\relax % manuscript +\or% acmsmall +\or % acmlarge +\or % acmtog + \setlength\parindent{9\p@}% +\or % sigconf +\or % siggraph +\or % sigplan +\or % sigchi +\or % sigchi-a +\fi +% \end{macrocode} +% +% \end{macro} +% \end{macro} +% +% Footnotes require some consideration. We have several layers of +% footnotes: frontmatter footnotes, ``regular'' footnotes and the +% special insert for bibstrip. In the old ACM classes bibstrip was a +% \cs{@float}. The problem with floats is that they tend to, well, +% float---and we want the guarantee they stay. +% \begin{macrocode} +\RequirePackage{manyfoot} +\DeclareNewFootnote{copyrightpermission} +\skip\footinscopyrightpermission=0.1\baselineskip plus 0.1\baselineskip +% \end{macrocode} +% +% +% \begin{macro}{\footnoterule} +% Tschichold's rules: +% \begin{macrocode} +\def\footnoterule{\kern-3\p@ + \hrule \@width \columnwidth \kern 2.6\p@} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\endminipage} +% We do not use footnote rules in minipages +% \begin{macrocode} +\def\endminipage{% + \par + \unskip + \ifvoid\@mpfootins\else + \vskip\skip\@mpfootins + \normalcolor + \unvbox\@mpfootins + \fi + \@minipagefalse %% added 24 May 89 + \color@endgroup + \egroup + \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} + +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@makefntext} +% We do note use indentation for footnotes +% \begin{macrocode} +\def\@makefntext{\noindent\@makefnmark} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@footnotetext} +% In sigchi-a mode our footnotes are on the margins! +% \begin{macrocode} +\if@ACM@sigchiamode +\long\def\@footnotetext#1{\marginpar{% + \reset@font\small + \interlinepenalty\interfootnotelinepenalty + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}}% +\fi +% \end{macrocode} +% +% \end{macro} +% +%\subsection{Fonts} +%\label{sec:fonts} +% +% We use Times throughout +% \begin{macrocode} +\usepackage[tt=false]{libertine} +\usepackage[varqu]{zi4} +\usepackage[libertine]{newtxmath} +% \end{macrocode} +% +% The SIGCHI extended abstracts are sans serif: +% \begin{macrocode} +\if@ACM@sigchiamode + \renewcommand{\familydefault}{\sfdefault} +\fi +% \end{macrocode} +% +% +%\subsection{Floats} +%\label{sec:floats} +% +% We use |caption| package +% \begin{macrocode} +\RequirePackage{caption, float} +\captionsetup[table]{position=top} +\if@ACM@journal + \captionsetup{labelfont={sf, small}, + textfont={sf, small}, margin=\z@} + \captionsetup[figure]{name={Fig.}} +\else + \captionsetup{labelfont={bf}, + textfont={bf}, labelsep=colon, margin=\z@} + \ifcase\ACM@format@nr + \relax % manuscript + \or% acmsmall + \or % acmlarge + \or % acmtog + \or % sigconf + \or % siggraph + \captionsetup{textfont={it}} + \or % sigplan + \or % sigchi + \captionsetup[figure]{labelfont={bf, small}, + textfont={bf, small}} + \or % sigchi-a + \captionsetup[figure]{labelfont={bf, small}, + textfont={bf, small}} + \fi +\fi +% \end{macrocode} +% +% \begin{macro}{sidebar} +% The sidebar environment: +% \begin{macrocode} +\newfloat{sidebar}{}{sbar} +\floatname{sidebar}{Sidebar} +\renewenvironment{sidebar}{\Collect@Body\@sidebar}{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@sidebar} +% The processing of the saved text +% \begin{macrocode} +\long\def\@sidebar#1{\bgroup\captionsetup{type=sidebar}% + \marginpar{\small#1}\egroup} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{marginfigure} +% The marginfigure environment: +% \begin{macrocode} +\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@marginfigure} +% The processing of the saved text +% \begin{macrocode} +\long\def\@marginfigure#1{\bgroup\captionsetup{type=figure}% + \marginpar{\small#1}\egroup} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{margintable} +% The margintable environment: +% \begin{macrocode} +\newenvironment{margintable}{\Collect@Body\@margintable}{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@margintable} +% The processing of the saved text +% \begin{macrocode} +\long\def\@margintable#1{\bgroup\captionsetup{type=table}% + \marginpar{\small#1}\egroup} +% \end{macrocode} +% +% \end{macro} +% +% +% SIGCHI extended abstract provides an interesting possibility to push +% into the margin. Here we use |figure*| and |table*| for this. +% \begin{macro}{\fulltextwidth} +% We define the width of the boxes as +% \begin{macrocode} +\newdimen\fulltextwidth +\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep) +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@dblfloat} +% We redefine the double float command. First, we make the size +% bigger. Second, our default position is going to be |tp| (to give +% marginalia a chance) +% \begin{macrocode} +\if@ACM@sigchiamode +\def\@dblfloat{\bgroup\columnwidth=\fulltextwidth + \let\@endfloatbox\@endwidefloatbox + \def\@fpsadddefault{\def\@fps{tp}}% + \@float} +\fi +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\end@dblfloat} +% And the end. Just adding a \cs{bgroup}. +% \begin{macrocode} +\if@ACM@sigchiamode +\def\end@dblfloat{% + \end@float\egroup} +\fi +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@endwidefloatbox} +% This is the end of a wide box - we basically move everything +% to the left +% \begin{macrocode} +\def\@endwidefloatbox{% + \par\vskip\z@skip + \@minipagefalse + \outer@nobreak + \egroup + \color@endbox + \global\setbox\@currbox=\vbox{\moveleft + \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}% + \wd\@currbox=\textwidth +} +% \end{macrocode} +% +% \end{macro} +% +%\subsection{Top matter data} +%\label{sec:top_matter_data} +% +% +% +% We use keyval interface to define journal title and relevant +% information +% \begin{macrocode} +\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{% + CIE,% + CSUR,% + JACM,% + JDIQ,% + JEA,% + JERIC,% + JETC,% + JOCCH,% + TAAS,% + TACCESS,% + TACO,% + TALG,% + TALLIP,% + TAP,% + TCPS,% + TEAC,% + TECS,% + TIIS,% + TISSEC,% + TIST,% + TKDD,% + TMIS,% + TOCE,% + TOCHI,% + TOCL,% + TOCS,% + TOCT,% + TODAES,% + TODS,% + TOG,% + TOIS,% + TOIT,% + TOMACS,% + TOMM,% + TOMPECS,% + TOMS,% + TOPC,% + TOPS,% + TOPLAS,% + TOS,% + TOSEM,% + TOSN,% + TRETS,% + TSAS,% + TSC,% + TSLP,% + TWEB% +}{% +\ifcase\@journalCode@nr +\relax % CIE + \def\@journalName{ACM Computers in Entertainment}% + \def\@journalNameShort{ACM Comput. Entertain.}% + \def\@permissionCodeOne{1544-3574}% +\or % CSUR + \def\@journalName{ACM Computing Surveys}% + \def\@journalNameShort{ACM Comput. Surv.}% + \def\@permissionCodeOne{0360-0300}% +\or % JACM + \def\@journalName{Journal of the ACM}% + \def\@journalNameShort{J. ACM}% + \def\@permissionCodeOne{0004-5411}% +\or % JDIQ + \def\@journalName{ACM Journal of Data and Information Quality}% + \def\@journalNameShort{ACM J. Data Inform. Quality}% + \def\@permissionCodeOne{1936-1955}% +\or % JEA + \def\@journalName{ACM Journal of Experimental Algorithmics}% + \def\@journalNameShort{ACM J. Exp. Algor.}% + \def\@permissionCodeOne{1084-6654}% +\or % JERIC + \def\@journalName{ACM Journal of Educational Resources in Computing}% + \def\@journalNameShort{ACM J. Edu. Resources in Comput.}% + \def\@permissionCodeOne{1073-0516}% +\or % JETC + \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}% + \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}% + \def\@permissionCodeOne{1550-4832}% +\or % JOCCH + \def\@journalName{ACM Journal on Computing and Cultural Heritage}% + \def\@journalName{ACM J. Comput. Cult. Herit.}% +\or % TAAS + \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}% + \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}% + \def\@permissionCodeOne{1556-4665}% +\or % TACCESS + \def\@journalName{ACM Transactions on Accessible Computing}% + \def\@journalNameShort{ACM Trans. Access. Comput.}% + \def\@permissionCodeOne{1936-7228}% +\or % TACO + \def\@journalName{ACM Transactions on Architecture and Code Optimization}% +\or % TALG + \def\@journalName{ACM Transactions on Algorithms}% + \def\@journalNameShort{ACM Trans. Algor.}% + \def\@permissionCodeOne{1549-6325}% +\or % TALLIP + \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}% + \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}% + \def\@permissionCodeOne{2375-4699}% +\or % TAP + \def\@journalName{ACM Transactions on Applied Perception}% +\or % TCPS + \def\@journalName{ACM Transactions on Cyber-Physical Systems}% +\or % TEAC + \def\@journalName{ACM Transactions on Economics and Computation}% +\or % TECS + \def\@journalName{ACM Transactions on Embedded Computing Systems}% + \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}% + \def\@permissionCodeOne{1539-9087}% +\or % TIIS + \def\@journalName{ACM Transactions on Interactive Intelligent Systems}% + \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}% + \def\@permissionCodeOne{2160-6455}% +\or % TISSEC + \def\@journalName{ACM Transactions on Information and System Security}% + \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}% + \def\@permissionCodeOne{1094-9224}% +\or % TIST + \def\@journalName{ACM Transactions on Intelligent Systems and Technology}% + \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}% + \def\@permissionCodeOne{2157-6904}% +\or % TKDD + \def\@journalName{ACM Transactions on Knowledge Discovery from Data}% + \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}% + \def\@permissionCodeOne{1556-4681}% +\or % TMIS + \def\@journalName{ACM Transactions on Management Information Systems}% + \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}% + \def\@permissionCodeOne{2158-656X}% +\or % TOCE + \def\@journalName{ACM Transactions on Computing Education}% + \def\@journalNameShort{ACM Trans. Comput. Educ.}% + \def\@permissionCodeOne{1946-6226}% +\or % TOCHI + \def\@journalName{ACM Transactions on Computer-Human Interaction}% + \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}% + \def\@permissionCodeOne{1073-0516}% +\or % TOCL + \def\@journalName{ACM Transactions on Computational Logic}% + \def\@journalNameShort{ACM Trans. Comput. Logic}% + \def\@permissionCodeOne{1529-3785}% +\or % TOCS + \def\@journalName{ACM Transactions on Computer Systems}% + \def\@journalNameShort{ACM Trans. Comput. Syst.}% + \def\@permissionCodeOne{0734-2071}% +\or % TOCT + \def\@journalName{ACM Transactions on Computation Theory}% + \def\@journalNameShort{ACM Trans. Comput. Theory}% + \def\@permissionCodeOne{1942-3454}% +\or % TODAES + \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}% + \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}% + \def\@permissionCodeOne{1084-4309}% +\or % TODS + \def\@journalName{ACM Transactions on Database Systems}% + \def\@journalNameShort{ACM Trans. Datab. Syst.}% + \def\@permissionCodeOne{0362-5915}% +\or % TOG + \def\@journalName{ACM Transactions on Graphics}% + \def\@journalNameShort{ACM Trans. Graph.}% + \def\@permissionCodeOne{0730-0301} +\or % TOIS + \def\@journalName{ACM Transactions on Information Systems}% + \def\@journalName{ACM Transactions on Information Systems}% + \def\@permissionCodeOne{1046-8188}% +\or % TOIT + \def\@journalName{ACM Transactions on Internet Technology}% + \def\@journalNameShort{ACM Trans. Internet Technol.}% + \def\@permissionCodeOne{1533-5399}% +\or % TOMACS + \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% + \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% + \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}% +\or % TOMM + \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}% + \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}% + \def\@permissionCodeOne{1551-6857}% + \def\@permissionCodeTwo{0100}% +\or % TOMPECS + \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}% + \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}% + \def\@permissionCodeOne{2376-3639}% +\or % TOMS + \def\@journalName{ACM Transactions on Mathematical Software}% + \def\@journalNameShort{ACM Trans. Math. Softw.}% + \def\@permissionCodeOne{0098-3500}% +\or % TOPC + \def\@journalName{ACM Transactions on Parallel Computing}% + \def\@journalNameShort{ACM Trans. Parallel Comput.}% + \def\@permissionCodeOne{1539-9087}% +\or % TOPS + \def\@journalName{ACM Transactions on Privacy and Security}% + \def\@journalNameShort{ACM Trans. Priv. Sec.}% + \def\@permissionCodeOne{2471-2566}% +\or % TOPLAS + \def\@journalName{ACM Transactions on Programming Languages and Systems}% + \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}% + \def\@permissionCodeOne{0164-0925}% +\or % TOS + \def\@journalName{ACM Transactions on Storage}% + \def\@journalNameShort{ACM Trans. Storage}% + \def\@permissionCodeOne{1553-3077}% +\or % TOSEM + \def\@journalName{ACM Transactions on Software Engineering and Methodology}% + \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}% + \def\@permissionCodeOne{1049-331X}% +\or % TOSN + \def\@journalName{ACM Transactions on Sensor Networks}% + \def\@journalNameShort{ACM Trans. Sensor Netw.}% + \def\@permissionCodeOne{1550-4859}% +\or % TRETS + \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}% + \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}% + \def\@permissionCodeOne{1936-7406}% +\or % TSAS + \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}% + \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}% + \def\@permissionCodeOne{2374-0353}% +\or % TSC + \def\@journalName{ACM Transactions on Social Computing}% + \def\@journalNameShort{ACM Trans. Soc. Comput.}% + \def\@permissionCodeOne{2469-7818}% +\or % TSLP + \def\@journalName{ACM Transactions on Speech and Language Processing}% + \def\@journalNameShort{ACM Trans. Speech Lang. Process.}% + \def\@permissionCodeOne{1550-4875}% +\or % TWEB + \def\@journalName{ACM Transactions on the Web}% + \def\@journalNameShort{ACM Trans. Web}% + \def\@permissionCodeOne{1559-1131}% +\fi +\ClassInfo{\@classname}{Using journal code \@journalCode}% +}{% + \ClassError{\@classname}{Incorrect journal #1}% +}% +% \end{macrocode} +% \begin{macro}{\acmJournal} +% And the syntactic sugar around it +% \begin{macrocode} +\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}} +% \end{macrocode} +% +% \end{macro} +% +% The defaults: +% \begin{macrocode} +\def\@journalName{}% +\def\@journalNameShort{\@journalName}% +\def\@permissionCodeOne{XXXX-XX}% +\def\@permissionCodeTwo{}% +% \end{macrocode} +% +% +% \begin{macro}{\acmConference} +% This is the conference command +% \begin{macrocode} +\newcommand\acmConference[4][]{% + \gdef\acmConference@shortname{#1}% + \gdef\acmConference@name{#2}% + \gdef\acmConference@date{#3}% + \gdef\acmConference@venue{#4}% + \ifx\acmConference@shortname\@empty + \gdef\acmConference@shortname{#2}% + \fi} +\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington, + DC, USA} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\subtitle} +% The subtitle macro +% \begin{macrocode} +\def\subtitle#1{\def\@subtitle{#1}} +\subtitle{} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\num@authors} +% The total number of authors +% \begin{macrocode} +\newcount\num@authors +\num@authors=0\relax +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\author} +% Adding an author to the list of authors and addresses +% \begin{macrocode} +\renewcommand\author[2][]{% + \global\advance\num@authors by 1\relax + \ifx\addresses\@empty + \if@ACM@anonymous + \gdef\addresses{\@author{Anonymous Author(s)}}% + \gdef\authors{Anonymous Author(s)}% + \else + \gdef\addresses{\@author{#2}}% + \gdef\authors{#2}% + \fi + \else + \if@ACM@anonymous\else + \g@addto@macro\addresses{\and\@author{#2}}% + \g@addto@macro\authors{\and#2}% + \fi + \fi + \if@ACM@anonymous + \ifx\shortauthors\@empty + \gdef\shortauthors{Anon.}% + \fi + \else + \def\@tempa{#1}% + \ifx\@tempa\@empty + \ifx\shortauthors\@empty + \gdef\shortauthors{#2}% + \else + \g@addto@macro\shortauthors{\and#2}% + \fi + \else + \ifx\shortauthors\@empty + \gdef\shortauthors{#1}% + \else + \g@addto@macro\shortauthors{\and#1}% + \fi + \fi + \fi} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\affiliation} +% The macro \cs{affiliation} mimics \cs{address} from |amsart|. +% Note that it has an optional argument we do not currently need, +% but keep for the possible future use. +% \begin{macrocode} +\newcommand{\affiliation}[2][]{% + \if@ACM@anonymous\else + \g@addto@macro\addresses{\affiliation{#1}{#2}}% + \fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\email} +% The macro \cs{email} mimics \cs{email} from |amsart|. +% Agian it has an optional argument we do not currently need, +% but keep for the possible future use. +% \begin{macrocode} +\renewcommand{\email}[2][]{% + \if@ACM@anonymous\else + \g@addto@macro\addresses{\email{#1}{#2}}% + \fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@titlenotes} +% The titlenotes +% \begin{macrocode} +\def\@titlenotes{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\titlenote} +% Adding note to the title +% \begin{macrocode} +\def\titlenote#1{% + \g@addto@macro\@title{\footnotemark}% + \if@ACM@anonymous + \g@addto@macro\@titlenotes{% + \stepcounter{footnote}\footnotetext{Title note}}% + \else + \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}% + \fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@subtitlenotes} +% The subtitlenotes +% \begin{macrocode} +\def\@subtitlenotes{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\subtitlenote} +% Adding note to the subtitle +% \begin{macrocode} +\def\subtitlenote#1{% + \g@addto@macro\@subtitle{\footnotemark}% + \if@ACM@anonymous + \g@addto@macro\@subtitlenotes{% + \stepcounter{footnote}\footnotetext{Subtitle note}}% + \else + \g@addto@macro\@subtitlenotes{% + \stepcounter{footnote}\footnotetext{#1}}% + \fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@authornotes} +% The authornotes +% \begin{macrocode} +\def\@authornotes{} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\authornote} +% Adding note to the author +% \begin{macrocode} +\def\authornote#1{% + \if@ACM@anonymous\else + \g@addto@macro\addresses{\@authornotemark} + \g@addto@macro\@authornotes{% + \stepcounter{footnote}\footnotetext{#1}}% + \fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmVolume} +% The current volume +% \begin{macrocode} +\def\acmVolume#1{\def\@acmVolume{#1}} +\acmVolume{VV} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmNumber} +% The current number +% \begin{macrocode} +\def\acmNumber#1{\def\@acmNumber{#1}} +\acmNumber{NNN} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmArticle} +% The current article +% \begin{macrocode} +\def\acmArticle#1{\def\@acmArticle{#1}} +\acmArticle{AA} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmArticleSeq} +% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet} +% The sequence number +% \begin{macrocode} +\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}} +\acmArticleSeq{\@acmArticle} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmYear} +% The current year +% \begin{macrocode} +\def\acmYear#1{\def\@acmYear{#1}} +\acmYear{YYYY} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmMonth} +% The current month +% \begin{macrocode} +\def\acmMonth#1{\def\@acmMonth{#1}} +\acmMonth{MM} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\@acmPubDate} +% The publication date +% \begin{macrocode} +\def\@acmPubDate{\ifcase\@acmMonth\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or + December\fi~\@acmYear} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmPrice} +% The price +% \begin{macrocode} +\def\acmPrice#1{\def\@acmPrice{#1}} +\acmPrice{15.00} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmISBN} +% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet} +% The book isbn +% \begin{macrocode} +\def\acmISBN#1{\def\@acmISBN{#1}} +\acmISBN{978-x-xxxx-xxxx-x/YY/MM} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmDOI} +% \changes{v1.04}{2016/04/26}{Name change by Matthew Fluet} +% The paper doi +% \begin{macrocode} +\def\acmDOI#1{\def\@acmDOI{#1}} +\acmDOI{10.1145/nnnnnnn.nnnnnnn} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\if@ACM@badge} +% \changes{v1.06}{2016/05/01}{Added macro} +% Whether to print badge. Note that either left or right badge +% triggers it: +% \begin{macrocode} +\newif\if@ACM@badge +\@ACM@badgefalse +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@ACM@badge@width} +% \changes{v1.06}{2016/05/01}{Added macro} +% The width of the badge +% \begin{macrocode} +\newlength\@ACM@badge@width +\setlength\@ACM@badge@width{5pc} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\@ACM@title@width} +% \changes{v1.06}{2016/05/01}{Added macro} +% The width of the badge +% \begin{macrocode} +\newlength\@ACM@title@width +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\@ACM@badge@skip} +% \changes{v1.06}{2016/05/01}{Added macro} +% The space between the badge and the title +% \begin{macrocode} +\newlength\@ACM@badge@skip +\setlength\@ACM@badge@skip{1pc} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmBadgeR} +% \changes{v1.06}{2016/05/01}{Added macro} +% Setting the right badge +% \begin{macrocode} +\newcommand\acmBadgeR[2][]{\@ACM@badgetrue + \def\@acmBadgeR@url{#1}% + \def\@acmBadgeR@image{#2}} +\def\@acmBadgeR@url{} +\def\@acmBadgeR@image{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\acmBadgeL} +% \changes{v1.06}{2016/05/01}{Added macro} +% Setting the left badge +% \begin{macrocode} +\newcommand\acmBadgeL[2][]{\@ACM@badgetrue + \def\@acmBadgeL@url{#1}% + \def\@acmBadgeL@image{#2}} +\def\@acmBadgeL@url{} +\def\@acmBadgeL@image{} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\startPage} +% The start page of the paper +% \begin{macrocode} +\def\startPage#1{\def\@startPage{#1}} +\startPage{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\terms} +% Terms are mostly obsolete, we use CCS now. Still it makes +% sense to keep them for compatibility. +% \begin{macrocode} +\def\terms#1{\def\@terms{#1}} +\terms{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\keywords} +% Keywords are mostly obsolete, we use CCS now. Still it makes +% sense to keep them for compatibility. +% \begin{macrocode} +\def\keywords#1{\def\@keywords{#1}} +\keywords{} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{abstract} +% Amsart puts |abstract| in the box. Since we do not know whether +% we will use two column mode, we prefer to save the text +% \begin{macrocode} +\renewenvironment{abstract}{\Collect@Body\@saveabstract}{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@saveabstract} +% And saving the abstract +% \begin{macrocode} +\long\def\@saveabstract#1{\long\gdef\@abstract{#1}} +\@saveabstract{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@lempty} +% The long version of \cs{@empty} (to compare with \cs{@abstract}) +% \begin{macrocode} +\long\def\@lempty{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\if@ACM@printccs} +% Whether to print CCS +% \begin{macrocode} +\define@boolkey+{@ACM@topmatter@}[@ACM@]{printcss}[true]{% + \if@ACM@printcss + \ClassInfo{\@classname}{Printing CSS}% + \else + \ClassInfo{\@classname}{Suppressing CSS}% + \fi}{\ClassError{\@classname}{printcss must be true or false}} +% \end{macrocode} +% +% \end{macro} +% \begin{macro}{\if@ACM@printbib} +% Whether to print ACM bib +% \begin{macrocode} +\define@boolkey+{@ACM@topmatter@}[@ACM@]{printbib}[true]{% + \if@ACM@printcss + \ClassInfo{\@classname}{Printing bibformat}% + \else + \ClassInfo{\@classname}{Suppressing bibformat}% + \fi}{\ClassError{\@classname}{printbib must be true or false}} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\settopmatter} +% The usual syntactic sugar +% \begin{macrocode} +\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}} +% \end{macrocode} +% +% \end{macro} +% +% +% Now the settings +% \begin{macrocode} +\settopmatter{printcss=true} +\if@ACM@manuscript + \settopmatter{printbib=false} +\else + \if@ACM@journal + \settopmatter{printbib=true} + \else + \settopmatter{printbib=false} + \fi +\fi +% \end{macrocode} +% +% \begin{macro}{\@received} +% The container for the paper history +% \begin{macrocode} +\def\@received{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\received} +% The \cs{received} command +% \begin{macrocode} +\newcommand\received[2][]{\def\@tempa{#1}% + \ifx\@tempa\@empty + \ifx\@received\@empty + \gdef\@received{Received #2}% + \else + \g@addto@macro{\@received}{; revised #2}% + \fi + \else + \ifx\@received\@empty + \gdef\@received{#1 #2}% + \else + \g@addto@macro{\@received}{; #1 #2}% + \fi + \fi} +\AtEndDocument{% + \ifx\@received\@empty\else + \par\bigskip\noindent\small\normalfont\@received\par + \fi} +% \end{macrocode} +% +% \end{macro} +% +%\subsection{Concepts system} +%\label{sec:concepts} +% +% We exclude |CCSXML| stuff generated by the ACM system: +% \begin{macrocode} +\RequirePackage{comment} +\excludecomment{CCSXML} +% \end{macrocode} +% +% \begin{macro}{\@concepts} +% This is the storage macro for concepts +% \begin{macrocode} +\let\@concepts\@empty +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\ccsdesc} +% The first argument is the significance, the second is the +% concept(s) +% \begin{macrocode} +\newcommand\ccsdesc[2][100]{% + \ccsdesc@parse#1~#2~} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\ccsdesc@parse} +% The parser of the expression |Significance~General~Specific|: +% \begin{macrocode} +\def\ccsdesc@parse#1~#2~#3~{% + \expandafter\ifx\csname CCS@#2\endcsname\relax + \expandafter\gdef\csname CCS@#2\endcsname{\textbullet\textbf{#2} $\to$ }% + \g@addto@macro{\@concepts}{\csname CCS@#2\endcsname}\fi + \expandafter\g@addto@macro\expandafter{\csname CCS@#2\endcsname}{% + \ifnum#1>499\textbf{#3; }\else + \ifnum#1>299\textit{#3; }\else + #3; \fi\fi}} +% \end{macrocode} +% +% \end{macro} +% +% +%\subsection{Copyright system} +%\label{sec:copyright} +% +% This is from |acmcopyright.sty| +% +% \begin{macro}{\if@printcopyright} +% A flag whether to print copyright symbol +% \begin{macrocode} +\newif\if@printcopyright +\@printcopyrighttrue +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\if@printpermission} +% Whether to print permission block +% \begin{macrocode} +\newif\if@printpermission +\@printpermissiontrue +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\if@acmowned} +% Whether ACM ownes the rights to the paper +% \begin{macrocode} +\newif\if@acmowned +\@acmownedtrue +% \end{macrocode} +% +% \end{macro} +% +% Keys: +% \begin{macrocode} +\define@choicekey*{ACM@}{acmcopyrightmode}[% + \acm@copyrightinput\acm@copyrightmode]{none,acmcopyright,acmlicensed,% + rightsretained,usgov,usgovmixed,cagov,cagovmixed,% + licensedusgovmixed,licensedcagovmixed,othergov,licensedothergov}{% + \@printpermissiontrue + \@printcopyrighttrue + \@acmownedtrue + \ifnum\acm@copyrightmode=0\relax % none + \@printpermissionfalse + \@printcopyrightfalse + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=2\relax % acmlicensed + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=3\relax % rightsretained + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=4\relax % usgov + \@printpermissiontrue + \@printcopyrightfalse + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=6\relax % cagov + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=9\relax % licensedcagovmixed + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=10\relax % othergov + \@acmownedtrue + \fi + \ifnum\acm@copyrightmode=11\relax % licensedothergov + \@acmownedfalse + \@printcopyrightfalse + \fi} +% \end{macrocode} +% +% \begin{macro}{\setcopyright} +% This is the syntactic sugar around setting keys. +% \begin{macrocode} +\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} +\setcopyright{acmcopyright} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\@copyrightowner} +% Here is the owner of the copyright +% \begin{macrocode} +\def\@copyrightowner{% + \ifcase\acm@copyrightmode\relax % none + \or % acmcopyright + ACM\@. + \or % acmlicensed + Copyright held by the owner/author(s). Publication rights licensed to + ACM\@. + \or % rightsretained + Copyright held by the owner/author(s). + \or % usgov + \or % usgovmixed + ACM\@. + \or % cagov + Crown in Right of Canada. + \or %cagovmixed + ACM\@. + \or %licensedusgovmixed + Copyright held by the owner/author(s). Publication rights licensed to + ACM\@. + \or %licensedcagovmixed + Copyright held by the owner/author(s). Publication rights licensed to + ACM\@. + \or % othergov + ACM\@. + \or % licensedothergov + \fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@formatdoi} +% \changes{v1.03}{2016/04/22}{Added macro} +% Print a clickable doi +% \begin{macrocode} +\def\@formatdoi#1{\url{http://dx.doi.org/#1}} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@copyrightpermission} +% The canned permission block. +% \begin{macrocode} +\def\@copyrightpermission{% + \ifcase\acm@copyrightmode\relax % none + \or % acmcopyright + Permission to make digital or hard copies of all or part of this + work for personal or classroom use is granted without fee provided + that copies are not made or distributed for profit or commercial + advantage and that copies bear this notice and the full citation on + the first page. Copyrights for components of this work owned by + others than ACM must be honored. Abstracting with credit is + permitted. To copy otherwise, or republish, to post on servers or to + redistribute to lists, requires prior specific permission + and\hspace*{.5pt}/or a fee. Request permissions from + permissions@acm.org. + \or % acmlicensed + Permission to make digital or hard copies of all or part of this + work for personal or classroom use is granted without fee provided + that copies are not made or distributed for profit or commercial + advantage and that copies bear this notice and the full citation on + the first page. Copyrights for components of this work owned by + others than the author(s) must be honored. Abstracting with credit + is permitted. To copy otherwise, or republish, to post on servers + or to redistribute to lists, requires prior specific permission + and\hspace*{.5pt}/or a fee. Request permissions from + permissions@acm.org. + \or % rightsretained + Permission to make digital or hard copies of part or all of this work + for personal or classroom use is granted without fee provided that + copies are not made or distributed for profit or commercial advantage + and that copies bear this notice and the full citation on the first + page. Copyrights for third-party components of this work must be + honored. For all other uses, contact the + owner\hspace*{.5pt}/author(s). + \or % usgov + This paper is authored by an employee(s) of the United States + Government and is in the public domain. Non-exclusive copying or + redistribution is allowed, provided that the article citation is + given and the authors and agency are clearly identified as its + source. + \or % usgovmixed + ACM acknowledges that this contribution was authored or co-authored + by an employee, or contractor of the national government. As such, + the Government retains a nonexclusive, royalty-free right to + publish or reproduce this article, or to allow others to do so, for + Government purposes only. Permission to make digital or hard copies + for personal or classroom use is granted. Copies must bear this + notice and the full citation on the first page. Copyrights for + components of this work owned by others than ACM must be + honored. To copy otherwise, distribute, republish, or post, + requires prior specific permission and\hspace*{.5pt}/or a + fee. Request permissions from permissions@acm.org. + \or % cagov + This article was authored by employees of the Government of Canada. + As such, the Canadian government retains all interest in the + copyright to this work and grants to ACM a nonexclusive, + royalty-free right to publish or reproduce this article, or to allow + others to do so, provided that clear attribution is given both to + the authors and the Canadian government agency employing them. + Permission to make digital or hard copies for personal or classroom + use is granted. Copies must bear this notice and the full citation + on the first page. Copyrights for components of this work owned by + others than the Canadain Government must be honored. To copy + otherwise, distribute, republish, or post, requires prior specific + permission and\hspace*{.5pt}/or a fee. Request permissions from + permissions@acm.org. + \or % cagovmixed + ACM acknowledges that this contribution was co-authored by an + affiliate of the national government of Canada. As such, the Crown + in Right of Canada retains an equal interest in the copyright. + Reprints must include clear attribution to ACM and the author's + government agency affiliation. Permission to make digital or hard + copies for personal or classroom use is granted. Copies must bear + this notice and the full citation on the first page. Copyrights for + components of this work owned by others than ACM must be honored. + To copy otherwise, distribute, republish, or post, requires prior + specific permission and\hspace*{.5pt}/or a fee. Request permissions + from permissions@acm.org. + \or % licensedusgovmixed + Publication rights licensed to ACM\@. ACM acknowledges that this + contribution was authored or co-authored by an employee, contractor + or affiliate of the United States government. As such, the + Government retains a nonexclusive, royalty-free right to publish or + reproduce this article, or to allow others to do so, for Government + purposes only. + \or % licensedcagovmixed + Publication rights licensed to ACM\@. ACM acknowledges that this + contribution was authored or co-authored by an employee, contractor + or affiliate of the national government of Canada. As such, the + Government retains a nonexclusive, royalty-free right to publish or + reproduce this article, or to allow others to do so, for Government + purposes only. + \or % othergov + ACM acknowledges that this contribution was authored or co-authored + by an employee, contractor or affiliate of a national government. As + such, the Government retains a nonexclusive, royalty-free right to + publish or reproduce this article, or to allow others to do so, for + Government purposes only. + \or % licensedothergov + Publication rights licensed to ACM\@. ACM acknowledges that this + contribution was authored or co-authored by an employee, contractor + or affiliate of a national government. As such, the Government + retains a nonexclusive, royalty-free right to publish or reproduce + this article, or to allow others to do so, for Government purposes + only. + \fi} +% \end{macrocode} +% +% \end{macro} +% +% +% +% +% \begin{macro}{\copyrightyear} +% By default, the copyright year is the same as \cs{acmYear}, but +% one can override this: +% \begin{macrocode} +\def\copyrightyear#1{\def\@copyrightyear{#1}} +\copyrightyear{\@acmYear} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@teaserfigures} +% The teaser figures container +% \begin{macrocode} +\def\@teaserfigures{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{teaserfigure} +% The teaser figure +% \begin{macrocode} +\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@saveteaser} +% Saving the teaser +% \begin{macrocode} +\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\thanks} +% We redefine |amsart| \cs{thanks}, so the |anonymous| key works +% \begin{macrocode} +\renewcommand{\thanks}[1]{% + \@ifnotempty{#1}{% + \if@ACM@anonymous + \g@addto@macro\thankses{\thanks{A note}}% + \else + \g@addto@macro\thankses{\thanks{#1}}% + \fi}} +% \end{macrocode} +% +% \end{macro} +% +% \subsection{Typesetting top matter} +% \label{sec:makefile} +% +% \begin{macro}{\mktitle@bx} +% Some of our formats use two column design, some use one column +% one. In all cases we use wide title. Thus we typeset the top +% matter in a special box to be use in the construction +% \cs{@twocolumn}\oarg{box}. +% \begin{macrocode} +\newbox\mktitle@bx +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\maketitle} +% \changes{v1.03}{2016/04/22}{Added special case of authorversion} +% \changes{v1.07}{2016/05/03}{Corrected a bug with abstract footnotes} +% \changes{v1.07}{2016/05/03}{Corrected a bug with permssion and +% footnotes order} +% The (in)famous \cs{maketitle}. Note that in sigchi-a mode authors +% are \emph{not} in the title box. +% \begin{macrocode} +\def\maketitle{% + \if@ACM@anonymous + % Anonymize omission of \author-s + \ifnum\num@authors=0\author{}\fi + \fi + \begingroup + \let\@footnotemark\@footnotemark@nolink + \let\@footnotetext\@footnotetext@nolink + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \@topnum\z@ % this prevents figures from falling at the top of page + % 1 + \hsize=\textwidth + \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}} + \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers + \@printtopmatter + \if@ACM@sigchiamode\@mkauthors\fi + \setcounter{footnote}{0}% + \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} + \@titlenotes + \@subtitlenotes + \@authornotes + \let\@makefnmark\relax \let\@thefnmark\relax + \let\@makefntext\noindent + \ifx\@empty\thankses\else + \@footnotetext{\def\par{\let\par\@par}\parindent\z@\@setthanks}% + \fi + \footnotetextcopyrightpermission{\parindent\z@\parskip0.1\baselineskip + \if@ACM@authorversion\else + \if@printpermission\@copyrightpermission\par\fi + \fi + \if@ACM@manuscript\else + \if@ACM@journal\else % Print the conference short name + {\itshape \acmConference@shortname, \acmConference@venue}\par + \fi + \fi + \if@printcopyright + \copyright\ \@copyrightyear\ \@copyrightowner\ + \else + \@copyrightyear.\ + \fi + \if@ACM@manuscript + Manuscript submitted to ACM\\ + \else + \if@ACM@authorversion + This is the author's version of the work. It is posted here for + your personal use. Not for redistribution. The definitive Version + of Record was published in + \if@ACM@journal + \emph{\@journalName}% + \else + \emph{Proceedings of \acmConference@name, \acmConference@date}% + \fi + \ifx\@acmDOI\@empty + . + \else + , \@formatdoi{\@acmDOI}. + \fi\\ + \else + \if@ACM@journal + \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle\ + \$\@acmPrice\\ + \else % Conference + \@acmISBN + \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\ + \fi + \fi + \fi + DOI: \nolinkurl{\@acmDOI}}% + \endgroup + \setcounter{footnote}{0}% + \@mkabstract + \if@ACM@printcss + \ifx\@concepts\@empty\else\bgroup + {\@specialsection{CCS Concepts}% + \@concepts\par}\egroup + \fi + \fi + \if\@terms\@empty\else\bgroup + {\@specialsection{General Terms}% + \@terms\par}\egroup + \fi + \ifx\@keywords\@empty\else\bgroup + {\if@ACM@journal + \@specialsection{Additional Key Words and Phrases}% + \else + \@specialsection{Keywords}% + \fi + \@keywords}\par\egroup + \fi + \andify\authors + \andify\shortauthors + \global\let\authors=\authors + \global\let\shortauthors=\shortauthors + \if@ACM@printbib + \@mkbibcitation + \fi + \hypersetup{pdfauthor={\authors}, + pdftitle={\@title}, pdfkeywords={\@concepts}}% + \@printendtopmatter + \@afterindentfalse + \@afterheading +} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@specialsection} +% This macro starts section for proceedings and uses small for journals +% \begin{macrocode} +\def\@specialsection#1{% + \if@ACM@journal + \par\medskip\small\noindent#1: % + \else + \section*{#1}% + \fi} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\@printtopmatter} +% \changes{v1.06}{2016/05/01}{Added processing badges} +% The printing of top matter starts the new page, and uses the given +% title box. Note that for sigchi-a we print badges here rather +% than in \cs{mktitle} since we want them on the margins. +% \begin{macrocode} +\def\@printtopmatter{% + \ifx\@startPage\@empty + \gdef\@startPage{1}% + \else + \setcounter{page}{\@startPage}% + \fi + \thispagestyle{firstpagestyle}% + \noindent + \ifcase\ACM@format@nr + \relax % manuscript + \box\mktitle@bx\par + \noindent\hrulefill\par + \or% acmsmall + \box\mktitle@bx\par + \noindent\hrulefill\par + \or % acmlarge + \box\mktitle@bx\par + \noindent\hrulefill\par + \or % acmtog + \twocolumn[\box\mktitle@bx]% + \or % sigconf + \twocolumn[\box\mktitle@bx]% + \or % siggraph + \twocolumn[\box\mktitle@bx]% + \or % sigplan + \twocolumn[\box\mktitle@bx]% + \or % sigchi + \twocolumn[\box\mktitle@bx]% + \or % sigchi-a + \par\box\mktitle@bx\par\bigskip + \if@ACM@badge + \marginpar{\noindent + \ifx\@acmBadgeL@image\@empty\else + \href{\@acmBadgeL@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}% + \hskip\@ACM@badge@skip + \fi + \ifx\@acmBadgeR@image\@empty\else + \href{\@acmBadgeR@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}% + \fi}% + \fi + \fi +} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@mktitle} +% The title of the article +% \begin{macrocode} +\def\@mktitle{% + \ifcase\ACM@format@nr + \relax % manuscript + \@mktitle@i + \or% acmsmall + \@mktitle@i + \or % acmlarge + \@mktitle@i + \or % acmtog + \@mktitle@i + \or % sigconf + \@mktitle@iii + \or % siggraph + \@mktitle@iii + \or % sigplan + \@mktitle@iii + \or % sigchi + \@mktitle@iii + \or % sigchi-a + \@mktitle@iv + \fi +} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@titlefont} +% \changes{v1.06}{2016/05/01}{Added macro} +% The font to typeset title +% \begin{macrocode} +\def\@titlefont{% + \ifcase\ACM@format@nr + \relax % manuscript + \LARGE\bfseries\sffamily + \or% acmsmall + \LARGE\bfseries\sffamily + \or % acmlarge + \LARGE\bfseries\sffamily + \or % acmtog + \Huge\sffamily + \or % sigconf + \Huge\sffamily\bfseries + \or % siggraph + \Huge\sffamily\bfseries + \or % sigplan + \Huge\sffamily\bfseries + \or % sigchi + \Huge\sffamily\bfseries + \or % sigchi-a + \Huge\bfseries + \fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@subtitlefont} +% \changes{v1.06}{2016/05/01}{Added macro} +% The font to typeset title +% \begin{macrocode} +\def\@subtitlefont{% + \ifcase\ACM@format@nr + \relax % manuscript + \mdseries + \or% acmsmall + \mdseries + \or % acmlarge + \mdseries + \or % acmtog + \LARGE + \or % sigconf + \LARGE\mdseries + \or % siggraph + \LARGE\mdseries + \or % sigplan + \LARGE\mdseries + \or % sigchi + \LARGE\mdseries + \or % sigchi-a + \mdseries + \fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@mktitle@i} +% \changes{v1.06}{2016/05/01}{Made generic} +% \changes{v1.06}{2016/05/01}{Added processing badges} +% The version of \cs{mktitle} for most journals +% \begin{macrocode} +\def\@mktitle@i{\hsize=\textwidth + \@ACM@title@width=\hsize + \ifx\@acmBadgeL@image\@empty\else + \advance\@ACM@title@width by -\@ACM@badge@width + \advance\@ACM@title@width by -\@ACM@badge@skip + \fi + \ifx\@acmBadgeR@image\@empty\else + \advance\@ACM@title@width by -\@ACM@badge@width + \advance\@ACM@title@width by -\@ACM@badge@skip + \fi + \setbox\mktitle@bx=\vbox{\noindent\@titlefont + \ifx\@acmBadgeL@image\@empty\else + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% + \hskip\@ACM@badge@skip + \fi + \parbox[t]{\@ACM@title@width}{\raggedright + \@titlefont\noindent + \@title + \ifx\@subtitle\@empty\else + \par\noindent{\@subtitlefont\@subtitle} + \fi}% + \ifx\@acmBadgeR@image\@empty\else + \hskip\@ACM@badge@skip + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% + \fi + \par\bigskip}}% +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@mktitle@ii} +% \changes{v1.06}{2016/05/01}{Now this macro is obsolete} +% The version of \cs{mktitle} for TOG. Since v1.06 is subsumed by +% the \cs{mktitle@i} macro +% \end{macro} +% +% +% \begin{macro}{\@mktitle@iii} +% \changes{v1.06}{2016/05/01}{Made more generic} +% \changes{v1.06}{2016/05/01}{Added processing badges} +% The version of \cs{@mktitle} for sigproc. Note that since the +% title is centered, we leave the space for the left badge even if +% only the right badge is defined. +% \begin{macrocode} +\def\@mktitle@iii{\hsize=\textwidth + \setbox\mktitle@bx=\vbox{\@titlefont\centering + \@ACM@title@width=\hsize + \if@ACM@badge + \advance\@ACM@title@width by -2\@ACM@badge@width + \advance\@ACM@title@width by -2\@ACM@badge@skip + \parbox[b]{\@ACM@badge@width}{\strut + \ifx\@acmBadgeL@image\@empty\else + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% + \fi}% + \hskip\@ACM@badge@skip + \fi + \parbox[t]{\@ACM@title@width}{\centering\@titlefont + \@title + \ifx\@subtitle\@empty\else + \par\noindent{\@subtitlefont\@subtitle} + \fi + }% + \if@ACM@badge + \hskip\@ACM@badge@skip + \parbox[b]{\@ACM@badge@width}{\strut + \ifx\@acmBadgeR@image\@empty\else + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% + \fi}% + \fi + \par\bigskip}}% +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\@mktitle@iv} +% \changes{v1.06}{2016/05/01}{Made more generic} +% The version of \cs{@mktitle} for sigchi-a +% \begin{macrocode} +\def\@mktitle@iv{\hsize=\textwidth + \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont + \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par + \noindent\@title + \ifx\@subtitle\@empty\else + \par\noindent\@subtitlefont\@subtitle + \fi + \par\bigskip}}% +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\@mkauthors} +% Typesetting authors +% \begin{macrocode} +\def\@mkauthors{\begingroup + \hsize=\textwidth + \ifcase\ACM@format@nr + \relax % manuscript + \@mkauthors@i + \or% acmsmall + \@mkauthors@i + \or % acmlarge + \@mkauthors@i + \or % acmtog + \@mkauthors@ii + \or % sigconf + \@mkauthors@iii + \or % siggraph + \@mkauthors@iii + \or % sigplan + \@mkauthors@iii + \or % sigchi + \@mkauthors@iii + \or % sigchi-a + \@mkauthors@iv + \fi + \endgroup +} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@authorfont} +% Somehow different conferences use different fonts for author +% names. Why? +% \begin{macrocode} +\def\@authorfont{\Large\sffamily} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@affiliationfont} +% Font for affiliations +% \begin{macrocode} +\def\@affiliationfont{\normalsize\normalfont} +% \end{macrocode} +% \end{macro} +% +% Adjusting fonts for different formats +% \begin{macrocode} +\ifcase\ACM@format@nr +\relax % manuscript +\or% acmsmall +\or % acmlarge +\or % acmtog + \def\@authorfont{\LARGE\sffamily} + \def\@affiliationfont{\large} +\or % sigconf + \def\@authorfont{\LARGE} + \def\@affiliationfont{\large} +\or % siggraph + \def\@authorfont{\normalsize\normalfont} + \def\@affiliationfont{\normalsize\normalfont} +\or % sigplan +\or % sigchi + \def\@authorfont{\bfseries} + \def\@affiliationfont{\mdseries} +\or % sigchi-a + \def\@authorfont{\bfseries} + \def\@affiliationfont{\mdseries} +\fi +% \end{macrocode} +% +% \begin{macro}{\@mkauthors@i} +% This is version used in most formats. Note that \cs{and} between +% authors with the same affiliation becomes \verb*| and |: +% \begin{macrocode} +\def\@mkauthors@i{% + \def\@currentauthors{}% + \def\and{% + \andify\@currentauthors\par\noindent + \@currentauthors\def\@currentauthors{}}% + \def\@author##1{% + \ifx\@currentauthors\@empty + \gdef\@currentauthors{\@authorfont\MakeUppercase{##1}}% + \else + \g@addto@macro{\@currentauthors}{\and\MakeUppercase{##1}}% + \fi + \def\and{}}% + \def\email##1##2{}% + \def\affiliation##1##2{% + \ifx\@currentauthors\@empty\else + \andify\@currentauthors\par\noindent\@currentauthors + \fi + \def\@currentauthors{}\def\@tempa{##2}\ifx\@tempa\@empty\else + \unskip, {\@affiliationfont##2}\fi\def\and{\par\noindent}}% + \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip + \noindent\addresses\andify\@currentauthors\par\noindent\@currentauthors\par\medskip}% +} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@mkauthors@ii} +% This is version used in acmtog. A more vertical design +% \begin{macrocode} +\def\@mkauthors@ii{\par\medskip + \def\@currentauthors{}% + \def\and{}% + \def\@author##1{% + \ifx\@currentauthors\@empty + \gdef\@currentauthors{\@authorfont + \MakeUppercase{##1}}% + \else + \g@addto@macro{\@currentauthors}{\and\MakeUppercase{##1}}% + \fi\def\and{}}% + \def\email##1##2{}% + \def\affiliation##1##2{% + \ifx\@currentauthors\@empty\else + \andify\@currentauthors\par\noindent\@currentauthors + \fi + \def\@currentauthors{}\def\@tempa{##2}\ifx\@tempa\@empty\else + \par\noindent{\@affiliationfont##2}\fi + \def\and{\par\noindent{\@affiliationfont and}\par + \noindent\def\and{}}}% + \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip + \noindent\addresses\andify\@currentauthors\par\noindent\@currentauthors\par\medskip}% +} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\author@bx} +% The box to put individual author to +% \begin{macrocode} +\newbox\author@bx +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\author@bx@wd} +% The width of the author box +% \begin{macrocode} +\newdimen\author@bx@wd +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\author@bx@sep} +% The separation between the author boxes +% \begin{macrocode} +\newskip\author@bx@sep +\author@bx@sep=1pc\relax +% \end{macrocode} +% +% \end{macro} +% +% +% +% \begin{macro}{\@mkauthors@iii} +% The |sigconf| version. Here we use centered design with each +% author in a separate box. +% \begin{macrocode} +\def\@mkauthors@iii{% +% \end{macrocode} +% First, we need to determine the design of the author strip. The +% boxes are separated by \cs{author@bx@sep} plus two +% \cs{author@bx@sep} margins. This means that each box must be of +% width $(\cs{textwidth}-\cs{author@bx@sep})/N-\cs{author@bx@sep}$, +% where $N$ is the number of boxes per row. +% \begin{macrocode} + \author@bx@wd=\textwidth\relax + \advance\author@bx@wd by -\author@bx@sep\relax + \ifcase\num@authors + \relax % 0? + \or % 1=one author per row + \or % 2=two authors per row + \divide\author@bx@wd by \num@authors\relax + \or % 3=three authors per row + \divide\author@bx@wd by \num@authors\relax + \or % 4=two authors per row (!) + \divide\author@bx@wd by 2\relax + \else % three authors per row + \divide\author@bx@wd by 3\relax + \fi + \advance\author@bx@wd by -\author@bx@sep\relax +% \end{macrocode} +% Now, parsing of \cs{addresses}: +% \begin{macrocode} + \gdef\@currentauthors{}% + \gdef\@currentaffiliation{}% + \def\@author##1{\ifx\@currentauthors\@empty + \gdef\@currentauthors{\par##1}% + \else + \g@addto@macro\@currentauthors{\quad##1}% + \fi}% + \def\email##1##2{\ifx\@currentaffiliation\@empty + \gdef\@currentaffiliation{\nolinkurl{##2}}% + \else + \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% + \fi}% + \def\affiliation##1##2{\ifx\@currentaffiliation\@empty + \gdef\@currentaffiliation{##2}% + \else + \g@addto@macro\@currentaffiliation{\par##2}% + \fi}% +% \end{macrocode} +% Actual typesetting is done by \cs{and} macro +% \begin{macrocode} + \def\and{\bgroup\hsize=\author@bx@wd\def\and{\quad}% + \global\setbox\author@bx=\vtop{\centering + \@authorfont\@currentauthors\par\@affiliationfont + \@currentaffiliation}\egroup + \box\author@bx\hspace{\author@bx@sep}% + \gdef\@currentauthors{}% + \gdef\@currentaffiliation{}}% +% \end{macrocode} +% And here we use it: +% \begin{macrocode} + \hsize=\textwidth + \global\setbox\mktitle@bx=\vbox{\noindent + \box\mktitle@bx\par\medskip\leavevmode + \lineskip=1pc\relax\centering\hspace*{-1em}% + \addresses\and\par\bigskip}} +% \end{macrocode} +% +% \end{macro} +% +% +% \begin{macro}{\@mkauthors@iv} +% The |sigchia| version. Now we put +% authors in the main text, and no more than 2 authors per line. +% \begin{macrocode} +\def\@mkauthors@iv{% +% \end{macrocode} +% First, we need to determine the design of the author strip. The +% boxes are separated by \cs{author@bx@sep} plus two +% \cs{author@bx@sep} margins. This means that each box must be of +% width $(\cs{textwidth}-\cs{author@bx@sep})/N-\cs{author@bx@sep}$, +% where $N$ is the number of boxes per row. +% \begin{macrocode} + \author@bx@wd=\columnwidth\relax + \advance\author@bx@wd by -\author@bx@sep\relax + \ifcase\num@authors + \relax % 0? + \or % 1=one author per row + \else % 2=two authors per row + \divide\author@bx@wd by 2\relax + \fi + \advance\author@bx@wd by -\author@bx@sep\relax +% \end{macrocode} +% Now, parsing of \cs{addresses}: +% \begin{macrocode} + \gdef\@currentauthors{}% + \gdef\@currentaffiliation{}% + \def\@author##1{\ifx\@currentauthors\@empty + \gdef\@currentauthors{\par##1}% + \else + \g@addto@macro\@currentauthors{\quad##1}% + \fi}% + \def\email##1##2{\ifx\@currentaffiliation\@empty + \gdef\@currentaffiliation{\nolinkurl{##2}}% + \else + \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% + \fi}% + \def\affiliation##1##2{\ifx\@currentaffiliation\@empty + \gdef\@currentaffiliation{##2}% + \else + \g@addto@macro\@currentaffiliation{\par##2}% + \fi}% +% \end{macrocode} +% Actual typesetting is done by \cs{and} macro +% \begin{macrocode} + \def\and{\bgroup\hsize=\author@bx@wd\def\and{\quad}% + \global\setbox\author@bx=\vtop{\raggedright + \@authorfont\@currentauthors\par\@affiliationfont + \@currentaffiliation}\egroup + \box\author@bx\hskip\author@bx@sep + \gdef\@currentauthors{}% + \gdef\@currentaffiliation{}}% +% \end{macrocode} +% And here we use it: +% \begin{macrocode} + \bgroup\hsize=\columnwidth + \par\raggedright\leftskip=\z@ + \lineskip=1pc\noindent\addresses\and\par\bigskip\egroup} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@authornotemark} +% Adding footnotemark to authors +% \begin{macrocode} +\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark}} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@mkteasers} +% Typesetting teasers +% \begin{macrocode} +\def\@mkteasers{% + \ifx\@teaserfigures\@empty\else + \def\@teaser##1{\par\bigskip\bgroup + \captionsetup{type=figure}##1\egroup\par} + \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par + \noindent\@teaserfigures\par\medskip}% + \fi} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@setaddresses} +% This is an |amsart| macro, which we do not need. +% \begin{macrocode} +\def\@setaddresses{} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@mkabstract} +% Typesetting abstract +% \begin{macrocode} +\def\@mkabstract{\bgroup + \ifx\@abstract\@lempty\else + {\if@ACM@journal + \small\noindent + \else + \section*{ABSTRACT}% + \fi + \@abstract\par}% + \fi\egroup} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@mkbibcitation} +% Print bibcitation format +% \begin{macrocode} +\def\@mkbibcitation{\bgroup + \par\medskip\small\noindent{\bfseries ACM Reference format:}\par + \noindent\authors. \@acmYear. \@title. \textit{\@journalNameShort} + \@acmVolume, \@acmNumber, Article~\@acmArticle\ + (\@acmPubDate), \ref{TotPages}~pages.\par + \noindent DOI: \nolinkurl{\@acmDOI} +\par\egroup} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@printendtopmatter} +% End the top matter +% \begin{macrocode} +\def\@printendtopmatter{\par\medskip + \ifcase\ACM@format@nr + \relax % manuscript + \noindent\hrulefill\par\medskip + \or% acmsmall + \noindent\hrulefill\par\medskip + \or % acmlarge + \noindent\hrulefill\par\medskip + \or % acmtog + \par\bigskip + \or % sigconf + \par\bigskip + \or % siggraph + \par\bigskip + \or % sigplan + \par\bigskip + \or % sigchi + \par\bigskip + \or % sigchi-a + \fi +} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@setthanks} +% We redefine \cs{\@setthanks} using \cs{long} +% \begin{macrocode} +\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses} +% \end{macrocode} +% +% \end{macro} +% +% +% +%\subsection{Headers and Footers} +%\label{sec:head_foot} +% +% We use |fancyhdr| for our headers and footers: +% \begin{macrocode} +\RequirePackage{fancyhdr} +% \end{macrocode} +% +% \begin{macro}{\ACM@linecount@bx} +% This is the box displayed in the review mode +% \begin{macrocode} +\if@ACM@review + \newsavebox{\ACM@linecount@bx} + \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{% + \newlength\ACM@linecount@bxht\setlength{\ACM@linecount@bxht}{-\baselineskip} + \@tempcnta\@ne\relax + \loop{\color{ACMRed}\scriptsize\the\@tempcnta}\\ + \advance\@tempcnta by \@ne + \addtolength{\ACM@linecount@bxht}{\baselineskip} + \ifdim\ACM@linecount@bxht<\textheight\repeat}} +\fi +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\ACM@linecount} +% How to display the box +% \begin{macrocode} +\def\ACM@linecount{% + \if@ACM@review + \begin{picture}(0,0)% + \put(-26,-22){\usebox{\ACM@linecount@bx}}% + \end{picture}% + \fi} +% \end{macrocode} +% +% \end{macro} +% +% +% +% \begin{macro}{standardpagestyle} +% The pagestyle for all pages but the first one +% \begin{macrocode} +\fancypagestyle{standardpagestyle}{% + \fancyhf{}% + \renewcommand{\headrulewidth}{\z@}% + \renewcommand{\footrulewidth}{\z@}% + \ifcase\ACM@format@nr + \relax % manuscript + \fancyhead[RE]{\thepage}% + \fancyhead[LO]{\ACM@linecount\thepage}% + \fancyhead[LE]{\ACM@linecount\shortauthors}% + \fancyhead[RO]{\shorttitle}% + \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}% + \or% acmsmall + \fancyhead[RE]{\sffamily\@acmArticle:\thepage}% + \fancyhead[LO]{\ACM@linecount\sffamily\@acmArticle:\thepage}% + \fancyhead[LE]{\ACM@linecount\sffamily\shortauthors}% + \fancyhead[RO]{\sffamily\shorttitle}% + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \or % acmlarge + \fancyhead[LE]{\ACM@linecount\sffamily + \@acmArticle:\thepage\quad\textbullet\quad\shortauthors}% + \fancyhead[LO]{\ACM@linecount}% + \fancyhead[RO]{\sffamily + \shorttitle\quad\textbullet\quad\@acmArticle:\thepage}% + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \or % acmtog + \fancyhead[LE]{\ACM@linecount\sffamily + \@acmArticle:\thepage\quad\textbullet\quad\shortauthors}% + \fancyhead[LO]{\ACM@linecount}% + \fancyhead[RO]{\sffamily + \shorttitle\quad\textbullet\quad\@acmArticle:\thepage}% + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \else % Proceedings + \fancyfoot[R]{\footnotesize\thepage}% + \fancyhead[L]{\ACM@linecount}% + \fi +} +\pagestyle{standardpagestyle} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\@folio@wd} +% \begin{macro}{\@folio@ht} +% \begin{macro}{\@folio@voffset} +% \begin{macro}{\@folio@max} +% Folio blob width, height, offsets and max number +% \begin{macrocode} +\newdimen\@folio@wd +\@folio@wd=\z@ +\newdimen\@folio@ht +\@folio@ht=\z@ +\newdimen\@folio@voffset +\@folio@voffset=\z@ +\def\@folio@max{1} +\ifcase\ACM@format@nr +\relax % manuscript +\or% acmsmall + \@folio@wd=45.75pt\relax + \@folio@ht=1.25in\relax + \@folio@voffset=.2in\relax + \def\@folio@max{8} +\or % acmlarge + \@folio@wd=43.25pt\relax + \@folio@ht=79pt\relax + \@folio@voffset=.55in\relax + \def\@folio@max{10} +\fi +% \end{macrocode} +% +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\@folioblob} +% The macro to typeset the folio blob. +% \begin{macrocode} +\def\@folioblob{\@tempcnta=\@acmArticleSeq\relax +% \end{macrocode} +% First, we calculate \cs{@acmArticleSeq} modulo \cs{@folio@max} +% \begin{macrocode} + \loop + \ifnum\@tempcnta>\@folio@max\relax + \advance\@tempcnta by - \@folio@max + \repeat +% \end{macrocode} +% +% \begin{macrocode} + \advance\@tempcnta by -1\relax + \@tempdima=\@folio@ht\relax + \multiply\@tempdima by \the\@tempcnta\relax + \advance\@tempdima by -\@folio@voffset\relax + \begin{picture}(0,0) + \makebox[\z@]{\raisebox{-\@tempdima}{% + \rlap{% + \raisebox{-0.45\@folio@ht}[\z@][\z@]{% + \rule{\@folio@wd}{\@folio@ht}}}% + \parbox{\@folio@wd}{% + \centering + \textcolor{white}{\LARGE\bfseries\sffamily\@acmArticle}}}} + \end{picture}} + +% \end{macrocode} +% +% +% \end{macro} +% +% \begin{macro}{firstpagestyle} +% The pagestyle for all pages but the first one +% \begin{macrocode} +\fancypagestyle{firstpagestyle}{% + \fancyhf{}% + \renewcommand{\headrulewidth}{\z@}% + \renewcommand{\footrulewidth}{\z@}% + \ifcase\ACM@format@nr + \relax % manuscript + \fancyhead[L]{\ACM@linecount}% + \fancyfoot[RO,LE]{\small\thepage}% + \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% + \or% acmsmall + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fancyhead[LE]{\ACM@linecount\@folioblob}% + \fancyhead[LO]{\ACM@linecount}% + \fancyhead[RO]{\@folioblob}% + \fancyheadoffset[RO,LE]{0.6\@folio@wd}% + \or % acmlarge + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fancyhead[RO]{\@folioblob}% + \fancyhead[LE]{\ACM@linecount\@folioblob}% + \fancyhead[LO]{\ACM@linecount}% + \fancyheadoffset[RO,LE]{1.4\@folio@wd}% + \or % acmtog + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fancyhead[L]{\ACM@linecount}% + \else % Conference proceedings + \fancyhead[L]{\ACM@linecount}% + \fancyfoot[R]{\footnotesize\thepage}% + \fi +} +% \end{macrocode} +% +% \end{macro} +% +% +%\subsection{Sectioning} +%\label{sec:sectioninng} +% +% +% Fonts for sections etc. are different for different formats. Also, +% some formats use the ugly period after section number (sigh): +% \begin{macrocode} +\def\@secfont{\sffamily\bfseries\raggedright\MakeUppercase} +\def\@subsecfont{\sffamily\bfseries\raggedright} +\def\@subsubsecfont{\sffamily\itshape} +\def\@parfont{\itshape} +\setcounter{secnumdepth}{3} +\ifcase\ACM@format@nr +\relax % manuscript +\or% acmsmall +\or % acmlarge + \def\@secfont{\sffamily\large\raggedright\MakeUppercase} + \def\@subsecfont{\sffamily\large\raggedright} +\or % acmtog + \def\@secfont{\sffamily\large\raggedright\MakeUppercase} + \def\@subsecfont{\sffamily\large\raggedright} +\or % sigconf + \def\@secfont{\bfseries\Large\raggedright\MakeUppercase} + \def\@subsecfont{\bfseries\Large\raggedright} +\or % siggraph + \def\@secfont{\bfseries\sffamily\Large\raggedright\MakeUppercase} + \def\@subsecfont{\bfseries\sffamily\Large\raggedright} +\or % sigplan + \def\@secfont{\bfseries\Large\raggedright\MakeUppercase} + \def\@subsecfont{\bfseries\Large\raggedright} +\or % sigchi + \setcounter{secnumdepth}{1} + \def\@secfont{\bfseries\sffamily\raggedright\MakeUppercase} + \def\@subsecfont{\bfseries\sffamily\raggedright} +\or % sigchi-a + \setcounter{secnumdepth}{0} + \def\@secfont{\bfseries\sffamily\raggedright\MakeUppercase} + \def\@subsecfont{\bfseries\sffamily\raggedright} +\fi +% \end{macrocode} +% +% \begin{macro}{\@adddotafter} +% Add punctuation after the command +% \begin{macrocode} +\def\@adddotafter#1{#1\@addpunct{.}} +% \end{macrocode} +% +% \end{macro} +% +% Sectioning is different for different levels +% \begin{macrocode} +\renewcommand\section{\@startsection{section}{1}{\z@}% + {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% + {.25\baselineskip}% + {\@secfont}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% + {.25\baselineskip}% + {\@subsecfont}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{10pt}% + {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% + {-3.5\p@}% + {\@subsubsecfont\@adddotafter}} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% + {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% + {-3.5\p@}% + {\@parfont\@adddotafter}} +\renewcommand\part{\@startsection{part}{9}{\z@}% + {-10\p@ \@plus -4\p@ \@minus -2\p@}% + {4\p@}% + {\@parfont}} +% \end{macrocode} +% +% +% +% +%\subsection{Theorems} +%\label{sec:theorems} +% +% +% \begin{macro}{acmplain} +% The |acmplain| theorem style +% \begin{macrocode} +\newtheoremstyle{acmplain}% + {.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip}% space above + {.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip}% Space below + {\itshape}% body font + {\parindent}% indent amount + {\scshape}% head font + {.}% punctuation after head + {.5em}% spacing after head + {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}}% head spec +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{acmdefinition} +% The |acmdefinition| theorem style +% \begin{macrocode} +\newtheoremstyle{acmdefinition}% + {.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip}% space above + {.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip}% Space below + {\normalfont}% body font + {\parindent}% indent amount + {\itshape}% head font + {.}% punctuation after head + {.5em}% spacing after head + {\thmname{#1}\thmnumber{ #2}\thmnote{ \itshape(#3)}}% head spec +% \end{macrocode} +% +% \end{macro} +% +% The definitions for theorems: +% \begin{macrocode} +\theoremstyle{acmplain} +\newtheorem{theorem}{Theorem}[section] +\newtheorem{conjecture}[theorem]{Conjecture} +\newtheorem{proposition}[theorem]{Proposition} +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{corollary}[theorem]{Corollary} +\theoremstyle{acmdefinition} +\newtheorem{example}[theorem]{Example} +\newtheorem{definition}[theorem]{Definition} +% \end{macrocode} +% +% +% \begin{macro}{proof} +% We want small caps proof name +% \begin{macrocode} +\renewenvironment{proof}[1][\proofname]{\par + \pushQED{\qed}% + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist + \item[\indent\hskip\labelsep + \scshape + #1\@addpunct{.}]\ignorespaces +}{% + \popQED\endtrivlist\@endpefalse +} +% \end{macrocode} +% +% \end{macro} +% +% +% \subsection{Conditional typesetting} +% \label{sec:conditional} +% +% We use the |comment| package for conditional typesetting: +% \begin{macrocode} +\if@ACM@screen + \includecomment{screenonly} + \excludecomment{printonly} +\else + \excludecomment{screenonly} + \includecomment{printonly} +\fi +\if@ACM@anonymous + \excludecomment{anonsuppress} +\else + \includecomment{anonsuppress} +\fi +% \end{macrocode} +% +% +%\subsection{End of Class} +%\label{end} +% +% +% \begin{macrocode} +\normalsize\normalfont +%</class> +% \end{macrocode} +% +%\Finale +%\clearpage +% +%\PrintChanges +%\clearpage +%\PrintIndex +% +\endinput diff --git a/Master/texmf-dist/source/latex/acmart/acmart.ins b/Master/texmf-dist/source/latex/acmart/acmart.ins new file mode 100644 index 00000000000..8d93280a2c2 --- /dev/null +++ b/Master/texmf-dist/source/latex/acmart/acmart.ins @@ -0,0 +1,29 @@ +% +% Doctrip file for acmart +% This file is in public domain +% $Id: acmart.ins,v 1.1 2015/11/23 22:42:55 boris Exp $ +% +\def\batchfile{acmart.ins} +\input docstrip +\keepsilent +\showprogress + + +\askforoverwritefalse + +\generate{% + \file{acmart.cls}{\from{acmart.dtx}{class}}} + +\obeyspaces +\Msg{*****************************************************}% +\Msg{* Congratulations! You successfully generated the *}% +\Msg{* acmart package. *}% +\Msg{* *}% +\Msg{* Please move the file acmart.cls to where LaTeX *}% +\Msg{* files are stored in your system. The manual is *}% +\Msg{* acmart.pdf. *}% +\Msg{* *}% +\Msg{* The package is released under LPPL *}% +\Msg{* *}% +\Msg{* Happy TeXing! *}% +\Msg{*****************************************************}%
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/acmart/acmart.cls b/Master/texmf-dist/tex/latex/acmart/acmart.cls new file mode 100644 index 00000000000..3d8c4fc1401 --- /dev/null +++ b/Master/texmf-dist/tex/latex/acmart/acmart.cls @@ -0,0 +1,1932 @@ +%% +%% This is file `acmart.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% acmart.dtx (with options: `class') +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file. +%% +%% Any modified versions of this file must be renamed +%% with new filenames distinct from acmart.cls. +%% +%% For distribution of the original source see the terms +%% for copying and modification in the file acmart.dtx. +%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) +%% \CharacterTable +%% {Upper-case \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 +%% Lower-case \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{acmart} +[2016/05/03 v1.07 Typesetting articles for Association of +Computing Machinery] +\def\@classname{acmart} +\RequirePackage{xkeyval} +\define@choicekey*+{acmart.cls}{format}[\ACM@format\ACM@format@nr]{% + manuscript, acmsmall, acmlarge, acmtog, sigconf, siggraph, + sigplan, sigchi, sigchi-a}[manuscript]{}{% + \ClassError{\@classname}{The option format must be manuscript, + acmsmall, acmlarge, acmtog, sigconf, siggraph, + sigplan, sigchi or sigchi-a}} +\def\@DeclareACMFormat#1{\DeclareOptionX{#1}{\setkeys{acmart.cls}{format=#1}}} +\@DeclareACMFormat{manuscript} +\@DeclareACMFormat{acmsmall} +\@DeclareACMFormat{acmlarge} +\@DeclareACMFormat{acmtog} +\@DeclareACMFormat{sigconf} +\@DeclareACMFormat{siggraph} +\@DeclareACMFormat{sigplan} +\@DeclareACMFormat{sigchi} +\@DeclareACMFormat{sigchi-a} +\ExecuteOptionsX{format} +\define@boolkey+{acmart.cls}[@ACM@]{screen}[true]{% + \if@ACM@screen + \PackageInfo{\@classname}{Using screen mode}% + \else + \PackageInfo{\@classname}{Not using screen mode}% + \fi}{\PackageError{\@classname}{Option screen can be either true or + false}} +\ExecuteOptionsX{screen=false} +\define@boolkey+{acmart.cls}[@ACM@]{review}[true]{% + \if@ACM@review + \PackageInfo{\@classname}{Using review mode}% + \else + \PackageInfo{\@classname}{Not using review mode}% + \fi}{\PackageError{\@classname}{Option review can be either true or + false}} +\ExecuteOptionsX{review=false} +\define@boolkey+{acmart.cls}[@ACM@]{authorversion}[true]{% + \if@ACM@authorversion + \PackageInfo{\@classname}{Using authorversion mode}% + \else + \PackageInfo{\@classname}{Not using authorversion mode}% + \fi}{\PackageError{\@classname}{Option authorversion can be either true or + false}} +\ExecuteOptionsX{authorversion=false} +\define@boolkey+{acmart.cls}[@ACM@]{natbib}[true]{% + \if@ACM@natbib + \PackageInfo{\@classname}{Using natbib mode}% + \else + \PackageInfo{\@classname}{Not using natbib mode}% + \fi}{\PackageError{\@classname}{Option natbib can be either true or + false}} +\ExecuteOptionsX{natbib=false} +\define@boolkey+{acmart.cls}[@ACM@]{anonymous}[true]{% + \if@ACM@anonymous + \PackageInfo{\@classname}{Using anonymous mode}% + \else + \PackageInfo{\@classname}{Not using anonymous mode}% + \fi}{\PackageError{\@classname}{Option anonymous can be either true or + false}} +\ExecuteOptionsX{anonymous=false} +\def\ACM@fontsize{} +\DeclareOptionX{9pt}{\edef\ACM@fontsize{\CurrentOption}} +\DeclareOptionX{10pt}{\edef\ACM@fontsize{\CurrentOption}} +\DeclareOptionX{11pt}{\edef\ACM@fontsize{\CurrentOption}} +\DeclareOptionX{12pt}{\edef\ACM@fontsize{\CurrentOption}} +\DeclareOptionX{draft}{\PassOptionsToClass{\CurrentOption}{amsart}} +\DeclareOptionX{*}{\PassOptionsToClass{\CurrentOption}{amsart}} +\ProcessOptionsX +\ClassInfo{\@classname}{Using format \ACM@format, number \ACM@format@nr} +\newif\if@ACM@manuscript +\newif\if@ACM@journal +\newif\if@ACM@sigchiamode +\ifnum\ACM@format@nr=0\relax + \@ACM@manuscripttrue +\else + \@ACM@manuscriptfalse +\fi +\@ACM@sigchiamodefalse +\ifcase\ACM@format@nr +\relax % manuscript + \@ACM@journaltrue +\or% acmsmall + \@ACM@journaltrue +\or % acmlarge + \@ACM@journaltrue +\or % acmtog + \@ACM@journaltrue +\or % sigconf + \@ACM@journalfalse +\or % siggraph + \@ACM@journalfalse + \or % sigplan + \@ACM@journalfalse + \or % sigchi + \@ACM@journalfalse +\or % sigchi-a + \@ACM@journalfalse + \@ACM@sigchiamodetrue +\fi +\ifx\ACM@fontsize\@empty + \ifcase\ACM@format@nr + \relax % manuscript + \def\ACM@fontsize{9pt}% + \or% acmsmall + \def\ACM@fontsize{10pt}% + \or % acmlarge + \def\ACM@fontsize{9pt}% + \or % acmtog + \def\ACM@fontsize{9pt}% + \or % sigconf + \def\ACM@fontsize{9pt}% + \or % siggraph + \def\ACM@fontsize{9pt}% + \or % sigplan + \def\ACM@fontsize{9pt}% + \or % sigchi + \def\ACM@fontsize{10pt}% + \or % sigchi-a + \def\ACM@fontsize{10pt}% + \fi +\fi +\ClassInfo{\@classname}{Using fontsize \ACM@fontsize} +\LoadClass[\ACM@fontsize, reqno]{amsart} +\RequirePackage{microtype} +\RequirePackage{totpages} +\RequirePackage{environ} +\if@ACM@manuscript +\RequirePackage{setspace} +\onehalfspacing +\fi +\if@ACM@natbib + \RequirePackage{natbib} + \renewcommand{\bibfont}{\bibliofont} + \renewcommand\setcitestyle[1]{ + \@for\@tempa:=#1\do + {\def\@tempb{round}\ifx\@tempa\@tempb + \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi + \def\@tempb{square}\ifx\@tempa\@tempb + \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi + \def\@tempb{angle}\ifx\@tempa\@tempb + \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi + \def\@tempb{curly}\ifx\@tempa\@tempb + \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi + \def\@tempb{semicolon}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{;}\fi + \def\@tempb{colon}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{;}\fi + \def\@tempb{comma}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{,}\fi + \def\@tempb{authoryear}\ifx\@tempa\@tempb + \NAT@numbersfalse\fi + \def\@tempb{numbers}\ifx\@tempa\@tempb + \NAT@numberstrue\NAT@superfalse\fi + \def\@tempb{super}\ifx\@tempa\@tempb + \NAT@numberstrue\NAT@supertrue\fi + \def\@tempb{nobibstyle}\ifx\@tempa\@tempb + \let\bibstyle=\@gobble\fi + \def\@tempb{bibstyle}\ifx\@tempa\@tempb + \let\bibstyle=\@citestyle\fi + \def\@tempb{sort}\ifx\@tempa\@tempb + \def\NAT@sort{\@ne}\fi + \def\@tempb{nosort}\ifx\@tempa\@tempb + \def\NAT@sort{\z@}\fi + \def\@tempb{compress}\ifx\@tempa\@tempb + \def\NAT@cmprs{\@ne}\fi + \def\@tempb{nocompress}\ifx\@tempa\@tempb + \def\NAT@cmprs{\@z}\fi + \def\@tempb{sort&compress}\ifx\@tempa\@tempb + \def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}\fi + \def\@tempb{mcite}\ifx\@tempa\@tempb + \let\NAT@merge\@ne\fi + \def\@tempb{merge}\ifx\@tempa\@tempb + \@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}\fi + \def\@tempb{elide}\ifx\@tempa\@tempb + \@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}\fi + \def\@tempb{longnamesfirst}\ifx\@tempa\@tempb + \NAT@longnamestrue\fi + \def\@tempb{nonamebreak}\ifx\@tempa\@tempb + \def\NAT@nmfmt#1{\mbox{\NAT@up#1}}\fi + \expandafter\NAT@find@eq\@tempa=\relax\@nil + \if\@tempc\relax\else + \expandafter\NAT@rem@eq\@tempc + \def\@tempb{open}\ifx\@tempa\@tempb + \xdef\NAT@open{\@tempc}\fi + \def\@tempb{close}\ifx\@tempa\@tempb + \xdef\NAT@close{\@tempc}\fi + \def\@tempb{aysep}\ifx\@tempa\@tempb + \xdef\NAT@aysep{\@tempc}\fi + \def\@tempb{yysep}\ifx\@tempa\@tempb + \xdef\NAT@yrsep{\@tempc}\fi + \def\@tempb{notesep}\ifx\@tempa\@tempb + \xdef\NAT@cmt{\@tempc}\fi + \def\@tempb{citesep}\ifx\@tempa\@tempb + \xdef\NAT@sep{\@tempc}\fi + \fi + }% + \NAT@@setcites + } + \setcitestyle{% + open={[},close={]},citesep={;},% + authoryear,aysep={},yysep={,},% + notesep={, }} +\fi +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par + \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \else + \addpenalty\@secpenalty\addvspace\@tempskipa + \fi + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup + #6{% + \@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M #8\@@par}% + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}% + \fi + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa>\z@ + \par \nobreak + \vskip \@tempskipa + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\@M + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +\def\@seccntformat#1{\csname the#1\endcsname\quad} +\def\@ssect#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup + #4{% + \@hangfrom{\hskip #1}% + \interlinepenalty \@M #5\@@par}% + \endgroup + \else + \def\@svsechd{#4{\hskip #1\relax #5}}% + \fi + \@xsect{#3}} +\let\@footnotemark@nolink\@footnotemark +\let\@footnotetext@nolink\@footnotetext +\RequirePackage{hyperref} +\if@ACM@sigchiamode + \urlstyle{sf} +\else + \urlstyle{rm} +\fi +\if@ACM@screen + \hypersetup{colorlinks, + linkcolor=ACMRed, + citecolor=ACMPurple, + urlcolor=ACMDarkBlue, + filecolor=ACMDarkBlue} +\else + \hypersetup{hidelinks} +\fi +\if@ACM@natbib + \let\citeN\cite + \let\cite\citep + \let\citeANP\citeauthor + \let\citeNN\citeyearpar + \let\citeyearNP\citeyear + \let\citeyear\citeyearpar + \let\citeNP\citealt + \def\shortcite#1{\citeyear{#1}} + \DeclareRobustCommand\citeA + {\begingroup\NAT@swafalse + \let\NAT@ctype\@ne\NAT@partrue\NAT@fullfalse\NAT@open\NAT@citetp} + \providecommand\newblock{} +\else + \providecommand\citename[1]{#1} +\fi +\ifcase\ACM@format@nr +\relax % manuscript +\or% acmsmall +\or % acmlarge +\or % acmtog +\or % sigconf +\or % siggraph + \def\@biblabel#1{} + \ifx\bibhang\@undefined + \newlength\bibhang + \fi + \setlength{\bibhang}{1em} + \renewenvironment{thebibliography}[1]{% + \@bibtitlestyle + \normalfont\bibliofont\labelsep .5em\relax + \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty + \list{\@biblabel{\theenumiv}}{\labelwidth\z@ + \setlength{\itemindent}{-\bibhang}% + \setlength{\leftmargin}{\bibhang}% + \labelsep\z@ + \def\newblock{\hskip .11em plus .33em minus .07em}% + \usecounter{enumiv}}% + \sloppy \clubpenalty\@M \widowpenalty\clubpenalty + \sfcode`\.=\@m + }{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist + } +\or % sigplan +\or % sigchi +\or % sigchi-a +\fi +\RequirePackage{graphicx, xcolor} +\definecolor[named]{ACMBlue}{cmyk}{1,0.1,0,0.1} +\definecolor[named]{ACMYellow}{cmyk}{0,0.16,1,0} +\definecolor[named]{ACMOrange}{cmyk}{0,0.42,1,0.01} +\definecolor[named]{ACMRed}{cmyk}{0,0.90,0.86,0} +\definecolor[named]{ACMLightBlue}{cmyk}{0.49,0.01,0,0} +\definecolor[named]{ACMGreen}{cmyk}{0.20,0,1,0.19} +\definecolor[named]{ACMPurple}{cmyk}{0.55,1,0,0.15} +\definecolor[named]{ACMDarkBlue}{cmyk}{1,0.58,0,0.21} +\RequirePackage{geometry} +\ifcase\ACM@format@nr +\relax % manuscript + \geometry{letterpaper,head=1pc}% +\or% acmsmall + \geometry{twoside=true, + includeheadfoot, head=1pc, foot=2pc, + paperwidth=6.75in, paperheight=10in, + top=58pt, bottom=44pt, inner=46pt, outer=46pt + }% +\or % acmlarge + \geometry{twoside=true, head=1pc, foot=2pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, + top=78pt, bottom=114pt, inner=81pt, outer=81pt + }% +\or % acmtog + \geometry{twoside=true, head=1pc, foot=2pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, columnsep=24pt, + top=52pt, bottom=75pt, inner=52pt, outer=52pt + }% +\or % sigconf + \geometry{twoside=true, head=1pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, columnsep=2pc, + top=57pt, bottom=75pt, inner=54pt, outer=57pt + }% +\or % siggraph + \geometry{twoside=true, head=1pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, columnsep=2pc, + top=57pt, bottom=75pt, inner=54pt, outer=57pt + }% +\or % sigplan + \geometry{twoside=true, head=1pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, columnsep=2pc, + top=74pt, bottom=70pt, inner=54pt, outer=54pt + }% +\or % sigchi + \geometry{twoside=true, head=1pc, + paperwidth=8.5in, paperheight=11in, + includeheadfoot, columnsep=2pc, + top=66pt, bottom=78pt, inner=54pt, outer=48pt + }% +\or % sigchi-a + \geometry{twoside=false, head=1pc, + paperwidth=11in, paperheight=8.5in, + includeheadfoot, marginparsep=72pt, + marginparwidth=170pt, columnsep=20pt, + top=72pt, bottom=72pt, left=314pt, right=72pt + }% + \@mparswitchfalse + \reversemarginpar +\fi +\setlength\parindent{10\p@} +\setlength\parskip{\z@} +\ifcase\ACM@format@nr +\relax % manuscript +\or% acmsmall +\or % acmlarge +\or % acmtog + \setlength\parindent{9\p@}% +\or % sigconf +\or % siggraph +\or % sigplan +\or % sigchi +\or % sigchi-a +\fi +\RequirePackage{manyfoot} +\DeclareNewFootnote{copyrightpermission} +\skip\footinscopyrightpermission=0.1\baselineskip plus 0.1\baselineskip +\def\footnoterule{\kern-3\p@ + \hrule \@width \columnwidth \kern 2.6\p@} +\def\endminipage{% + \par + \unskip + \ifvoid\@mpfootins\else + \vskip\skip\@mpfootins + \normalcolor + \unvbox\@mpfootins + \fi + \@minipagefalse %% added 24 May 89 + \color@endgroup + \egroup + \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} + +\def\@makefntext{\noindent\@makefnmark} +\if@ACM@sigchiamode +\long\def\@footnotetext#1{\marginpar{% + \reset@font\small + \interlinepenalty\interfootnotelinepenalty + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}}% +\fi +\usepackage[tt=false]{libertine} +\usepackage[varqu]{zi4} +\usepackage[libertine]{newtxmath} +\if@ACM@sigchiamode + \renewcommand{\familydefault}{\sfdefault} +\fi +\RequirePackage{caption, float} +\captionsetup[table]{position=top} +\if@ACM@journal + \captionsetup{labelfont={sf, small}, + textfont={sf, small}, margin=\z@} + \captionsetup[figure]{name={Fig.}} +\else + \captionsetup{labelfont={bf}, + textfont={bf}, labelsep=colon, margin=\z@} + \ifcase\ACM@format@nr + \relax % manuscript + \or% acmsmall + \or % acmlarge + \or % acmtog + \or % sigconf + \or % siggraph + \captionsetup{textfont={it}} + \or % sigplan + \or % sigchi + \captionsetup[figure]{labelfont={bf, small}, + textfont={bf, small}} + \or % sigchi-a + \captionsetup[figure]{labelfont={bf, small}, + textfont={bf, small}} + \fi +\fi +\newfloat{sidebar}{}{sbar} +\floatname{sidebar}{Sidebar} +\renewenvironment{sidebar}{\Collect@Body\@sidebar}{} +\long\def\@sidebar#1{\bgroup\captionsetup{type=sidebar}% + \marginpar{\small#1}\egroup} +\newenvironment{marginfigure}{\Collect@Body\@marginfigure}{} +\long\def\@marginfigure#1{\bgroup\captionsetup{type=figure}% + \marginpar{\small#1}\egroup} +\newenvironment{margintable}{\Collect@Body\@margintable}{} +\long\def\@margintable#1{\bgroup\captionsetup{type=table}% + \marginpar{\small#1}\egroup} +\newdimen\fulltextwidth +\fulltextwidth=\dimexpr(\textwidth+\marginparwidth+\marginparsep) +\if@ACM@sigchiamode +\def\@dblfloat{\bgroup\columnwidth=\fulltextwidth + \let\@endfloatbox\@endwidefloatbox + \def\@fpsadddefault{\def\@fps{tp}}% + \@float} +\fi +\if@ACM@sigchiamode +\def\end@dblfloat{% + \end@float\egroup} +\fi +\def\@endwidefloatbox{% + \par\vskip\z@skip + \@minipagefalse + \outer@nobreak + \egroup + \color@endbox + \global\setbox\@currbox=\vbox{\moveleft + \dimexpr(\fulltextwidth-\textwidth)\box\@currbox}% + \wd\@currbox=\textwidth +} +\define@choicekey*+{ACM}{acmJournal}[\@journalCode\@journalCode@nr]{% + CIE,% + CSUR,% + JACM,% + JDIQ,% + JEA,% + JERIC,% + JETC,% + JOCCH,% + TAAS,% + TACCESS,% + TACO,% + TALG,% + TALLIP,% + TAP,% + TCPS,% + TEAC,% + TECS,% + TIIS,% + TISSEC,% + TIST,% + TKDD,% + TMIS,% + TOCE,% + TOCHI,% + TOCL,% + TOCS,% + TOCT,% + TODAES,% + TODS,% + TOG,% + TOIS,% + TOIT,% + TOMACS,% + TOMM,% + TOMPECS,% + TOMS,% + TOPC,% + TOPS,% + TOPLAS,% + TOS,% + TOSEM,% + TOSN,% + TRETS,% + TSAS,% + TSC,% + TSLP,% + TWEB% +}{% +\ifcase\@journalCode@nr +\relax % CIE + \def\@journalName{ACM Computers in Entertainment}% + \def\@journalNameShort{ACM Comput. Entertain.}% + \def\@permissionCodeOne{1544-3574}% +\or % CSUR + \def\@journalName{ACM Computing Surveys}% + \def\@journalNameShort{ACM Comput. Surv.}% + \def\@permissionCodeOne{0360-0300}% +\or % JACM + \def\@journalName{Journal of the ACM}% + \def\@journalNameShort{J. ACM}% + \def\@permissionCodeOne{0004-5411}% +\or % JDIQ + \def\@journalName{ACM Journal of Data and Information Quality}% + \def\@journalNameShort{ACM J. Data Inform. Quality}% + \def\@permissionCodeOne{1936-1955}% +\or % JEA + \def\@journalName{ACM Journal of Experimental Algorithmics}% + \def\@journalNameShort{ACM J. Exp. Algor.}% + \def\@permissionCodeOne{1084-6654}% +\or % JERIC + \def\@journalName{ACM Journal of Educational Resources in Computing}% + \def\@journalNameShort{ACM J. Edu. Resources in Comput.}% + \def\@permissionCodeOne{1073-0516}% +\or % JETC + \def\@journalName{ACM Journal on Emerging Technologies in Computing Systems}% + \def\@journalNameShort{ACM J. Emerg. Technol. Comput. Syst.}% + \def\@permissionCodeOne{1550-4832}% +\or % JOCCH + \def\@journalName{ACM Journal on Computing and Cultural Heritage}% + \def\@journalName{ACM J. Comput. Cult. Herit.}% +\or % TAAS + \def\@journalName{ACM Transactions on Autonomous and Adaptive Systems}% + \def\@journalNameShort{ACM Trans. Autonom. Adapt. Syst.}% + \def\@permissionCodeOne{1556-4665}% +\or % TACCESS + \def\@journalName{ACM Transactions on Accessible Computing}% + \def\@journalNameShort{ACM Trans. Access. Comput.}% + \def\@permissionCodeOne{1936-7228}% +\or % TACO + \def\@journalName{ACM Transactions on Architecture and Code Optimization}% +\or % TALG + \def\@journalName{ACM Transactions on Algorithms}% + \def\@journalNameShort{ACM Trans. Algor.}% + \def\@permissionCodeOne{1549-6325}% +\or % TALLIP + \def\@journalName{ACM Transactions on Asian and Low-Resource Language Information Processing}% + \def\@journalNameShort{ACM Trans. Asian Low-Resour. Lang. Inf. Process.}% + \def\@permissionCodeOne{2375-4699}% +\or % TAP + \def\@journalName{ACM Transactions on Applied Perception}% +\or % TCPS + \def\@journalName{ACM Transactions on Cyber-Physical Systems}% +\or % TEAC + \def\@journalName{ACM Transactions on Economics and Computation}% +\or % TECS + \def\@journalName{ACM Transactions on Embedded Computing Systems}% + \def\@journalNameShort{ACM Trans. Embedd. Comput. Syst.}% + \def\@permissionCodeOne{1539-9087}% +\or % TIIS + \def\@journalName{ACM Transactions on Interactive Intelligent Systems}% + \def\@journalNameShort{ACM Trans. Interact. Intell. Syst.}% + \def\@permissionCodeOne{2160-6455}% +\or % TISSEC + \def\@journalName{ACM Transactions on Information and System Security}% + \def\@journalNameShort{ACM Trans. Info. Syst. Sec.}% + \def\@permissionCodeOne{1094-9224}% +\or % TIST + \def\@journalName{ACM Transactions on Intelligent Systems and Technology}% + \def\@journalNameShort{ACM Trans. Intell. Syst. Technol.}% + \def\@permissionCodeOne{2157-6904}% +\or % TKDD + \def\@journalName{ACM Transactions on Knowledge Discovery from Data}% + \def\@journalNameShort{ACM Trans. Knowl. Discov. Data.}% + \def\@permissionCodeOne{1556-4681}% +\or % TMIS + \def\@journalName{ACM Transactions on Management Information Systems}% + \def\@journalNameShort{ACM Trans. Manag. Inform. Syst.}% + \def\@permissionCodeOne{2158-656X}% +\or % TOCE + \def\@journalName{ACM Transactions on Computing Education}% + \def\@journalNameShort{ACM Trans. Comput. Educ.}% + \def\@permissionCodeOne{1946-6226}% +\or % TOCHI + \def\@journalName{ACM Transactions on Computer-Human Interaction}% + \def\@journalNameShort{ACM Trans. Comput.-Hum. Interact.}% + \def\@permissionCodeOne{1073-0516}% +\or % TOCL + \def\@journalName{ACM Transactions on Computational Logic}% + \def\@journalNameShort{ACM Trans. Comput. Logic}% + \def\@permissionCodeOne{1529-3785}% +\or % TOCS + \def\@journalName{ACM Transactions on Computer Systems}% + \def\@journalNameShort{ACM Trans. Comput. Syst.}% + \def\@permissionCodeOne{0734-2071}% +\or % TOCT + \def\@journalName{ACM Transactions on Computation Theory}% + \def\@journalNameShort{ACM Trans. Comput. Theory}% + \def\@permissionCodeOne{1942-3454}% +\or % TODAES + \def\@journalName{ACM Transactions on Design Automation of Electronic Systems}% + \def\@journalNameShort{ACM Trans. Des. Autom. Electron. Syst.}% + \def\@permissionCodeOne{1084-4309}% +\or % TODS + \def\@journalName{ACM Transactions on Database Systems}% + \def\@journalNameShort{ACM Trans. Datab. Syst.}% + \def\@permissionCodeOne{0362-5915}% +\or % TOG + \def\@journalName{ACM Transactions on Graphics}% + \def\@journalNameShort{ACM Trans. Graph.}% + \def\@permissionCodeOne{0730-0301} +\or % TOIS + \def\@journalName{ACM Transactions on Information Systems}% + \def\@journalName{ACM Transactions on Information Systems}% + \def\@permissionCodeOne{1046-8188}% +\or % TOIT + \def\@journalName{ACM Transactions on Internet Technology}% + \def\@journalNameShort{ACM Trans. Internet Technol.}% + \def\@permissionCodeOne{1533-5399}% +\or % TOMACS + \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% + \def\@journalName{ACM Transactions on Modeling and Computer Simulation}% + \def\@journalNameShort{ACM Trans. Model. Comput. Simul.}% +\or % TOMM + \def\@journalName{ACM Transactions on Multimedia Computing, Communications and Applications}% + \def\@journalNameShort{ACM Trans. Multimedia Comput. Commun. Appl.}% + \def\@permissionCodeOne{1551-6857}% + \def\@permissionCodeTwo{0100}% +\or % TOMPECS + \def\@journalName{ACM Transactions on Modeling and Performance Evaluation of Computing Systems}% + \def\@journalNameShort{ACM Trans. Model. Perform. Eval. Comput. Syst.}% + \def\@permissionCodeOne{2376-3639}% +\or % TOMS + \def\@journalName{ACM Transactions on Mathematical Software}% + \def\@journalNameShort{ACM Trans. Math. Softw.}% + \def\@permissionCodeOne{0098-3500}% +\or % TOPC + \def\@journalName{ACM Transactions on Parallel Computing}% + \def\@journalNameShort{ACM Trans. Parallel Comput.}% + \def\@permissionCodeOne{1539-9087}% +\or % TOPS + \def\@journalName{ACM Transactions on Privacy and Security}% + \def\@journalNameShort{ACM Trans. Priv. Sec.}% + \def\@permissionCodeOne{2471-2566}% +\or % TOPLAS + \def\@journalName{ACM Transactions on Programming Languages and Systems}% + \def\@journalNameShort{ACM Trans. Program. Lang. Syst.}% + \def\@permissionCodeOne{0164-0925}% +\or % TOS + \def\@journalName{ACM Transactions on Storage}% + \def\@journalNameShort{ACM Trans. Storage}% + \def\@permissionCodeOne{1553-3077}% +\or % TOSEM + \def\@journalName{ACM Transactions on Software Engineering and Methodology}% + \def\@journalNameShort{ACM Trans. Softw. Eng. Methodol.}% + \def\@permissionCodeOne{1049-331X}% +\or % TOSN + \def\@journalName{ACM Transactions on Sensor Networks}% + \def\@journalNameShort{ACM Trans. Sensor Netw.}% + \def\@permissionCodeOne{1550-4859}% +\or % TRETS + \def\@journalName{ACM Transactions on Reconfigurable Technology and Systems}% + \def\@journalNameShort{ACM Trans. Reconfig. Technol. Syst.}% + \def\@permissionCodeOne{1936-7406}% +\or % TSAS + \def\@journalName{ACM Transactions on Spatial Algorithms and Systems}% + \def\@journalNameShort{ACM Trans. Spatial Algorithms Syst.}% + \def\@permissionCodeOne{2374-0353}% +\or % TSC + \def\@journalName{ACM Transactions on Social Computing}% + \def\@journalNameShort{ACM Trans. Soc. Comput.}% + \def\@permissionCodeOne{2469-7818}% +\or % TSLP + \def\@journalName{ACM Transactions on Speech and Language Processing}% + \def\@journalNameShort{ACM Trans. Speech Lang. Process.}% + \def\@permissionCodeOne{1550-4875}% +\or % TWEB + \def\@journalName{ACM Transactions on the Web}% + \def\@journalNameShort{ACM Trans. Web}% + \def\@permissionCodeOne{1559-1131}% +\fi +\ClassInfo{\@classname}{Using journal code \@journalCode}% +}{% + \ClassError{\@classname}{Incorrect journal #1}% +}% +\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}} +\def\@journalName{}% +\def\@journalNameShort{\@journalName}% +\def\@permissionCodeOne{XXXX-XX}% +\def\@permissionCodeTwo{}% +\newcommand\acmConference[4][]{% + \gdef\acmConference@shortname{#1}% + \gdef\acmConference@name{#2}% + \gdef\acmConference@date{#3}% + \gdef\acmConference@venue{#4}% + \ifx\acmConference@shortname\@empty + \gdef\acmConference@shortname{#2}% + \fi} +\acmConference[Conference'17]{ACM Conference}{July 2017}{Washington, + DC, USA} +\def\subtitle#1{\def\@subtitle{#1}} +\subtitle{} +\newcount\num@authors +\num@authors=0\relax +\renewcommand\author[2][]{% + \global\advance\num@authors by 1\relax + \ifx\addresses\@empty + \if@ACM@anonymous + \gdef\addresses{\@author{Anonymous Author(s)}}% + \gdef\authors{Anonymous Author(s)}% + \else + \gdef\addresses{\@author{#2}}% + \gdef\authors{#2}% + \fi + \else + \if@ACM@anonymous\else + \g@addto@macro\addresses{\and\@author{#2}}% + \g@addto@macro\authors{\and#2}% + \fi + \fi + \if@ACM@anonymous + \ifx\shortauthors\@empty + \gdef\shortauthors{Anon.}% + \fi + \else + \def\@tempa{#1}% + \ifx\@tempa\@empty + \ifx\shortauthors\@empty + \gdef\shortauthors{#2}% + \else + \g@addto@macro\shortauthors{\and#2}% + \fi + \else + \ifx\shortauthors\@empty + \gdef\shortauthors{#1}% + \else + \g@addto@macro\shortauthors{\and#1}% + \fi + \fi + \fi} +\newcommand{\affiliation}[2][]{% + \if@ACM@anonymous\else + \g@addto@macro\addresses{\affiliation{#1}{#2}}% + \fi} +\renewcommand{\email}[2][]{% + \if@ACM@anonymous\else + \g@addto@macro\addresses{\email{#1}{#2}}% + \fi} +\def\@titlenotes{} +\def\titlenote#1{% + \g@addto@macro\@title{\footnotemark}% + \if@ACM@anonymous + \g@addto@macro\@titlenotes{% + \stepcounter{footnote}\footnotetext{Title note}}% + \else + \g@addto@macro\@titlenotes{\stepcounter{footnote}\footnotetext{#1}}% + \fi} +\def\@subtitlenotes{} +\def\subtitlenote#1{% + \g@addto@macro\@subtitle{\footnotemark}% + \if@ACM@anonymous + \g@addto@macro\@subtitlenotes{% + \stepcounter{footnote}\footnotetext{Subtitle note}}% + \else + \g@addto@macro\@subtitlenotes{% + \stepcounter{footnote}\footnotetext{#1}}% + \fi} +\def\@authornotes{} +\def\authornote#1{% + \if@ACM@anonymous\else + \g@addto@macro\addresses{\@authornotemark} + \g@addto@macro\@authornotes{% + \stepcounter{footnote}\footnotetext{#1}}% + \fi} +\def\acmVolume#1{\def\@acmVolume{#1}} +\acmVolume{VV} +\def\acmNumber#1{\def\@acmNumber{#1}} +\acmNumber{NNN} +\def\acmArticle#1{\def\@acmArticle{#1}} +\acmArticle{AA} +\def\acmArticleSeq#1{\def\@acmArticleSeq{#1}} +\acmArticleSeq{\@acmArticle} +\def\acmYear#1{\def\@acmYear{#1}} +\acmYear{YYYY} +\def\acmMonth#1{\def\@acmMonth{#1}} +\acmMonth{MM} +\def\@acmPubDate{\ifcase\@acmMonth\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or + December\fi~\@acmYear} +\def\acmPrice#1{\def\@acmPrice{#1}} +\acmPrice{15.00} +\def\acmISBN#1{\def\@acmISBN{#1}} +\acmISBN{978-x-xxxx-xxxx-x/YY/MM} +\def\acmDOI#1{\def\@acmDOI{#1}} +\acmDOI{10.1145/nnnnnnn.nnnnnnn} +\newif\if@ACM@badge +\@ACM@badgefalse +\newlength\@ACM@badge@width +\setlength\@ACM@badge@width{5pc} +\newlength\@ACM@title@width +\newlength\@ACM@badge@skip +\setlength\@ACM@badge@skip{1pc} +\newcommand\acmBadgeR[2][]{\@ACM@badgetrue + \def\@acmBadgeR@url{#1}% + \def\@acmBadgeR@image{#2}} +\def\@acmBadgeR@url{} +\def\@acmBadgeR@image{} +\newcommand\acmBadgeL[2][]{\@ACM@badgetrue + \def\@acmBadgeL@url{#1}% + \def\@acmBadgeL@image{#2}} +\def\@acmBadgeL@url{} +\def\@acmBadgeL@image{} +\def\startPage#1{\def\@startPage{#1}} +\startPage{} +\def\terms#1{\def\@terms{#1}} +\terms{} +\def\keywords#1{\def\@keywords{#1}} +\keywords{} +\renewenvironment{abstract}{\Collect@Body\@saveabstract}{} +\long\def\@saveabstract#1{\long\gdef\@abstract{#1}} +\@saveabstract{} +\long\def\@lempty{} +\define@boolkey+{@ACM@topmatter@}[@ACM@]{printcss}[true]{% + \if@ACM@printcss + \ClassInfo{\@classname}{Printing CSS}% + \else + \ClassInfo{\@classname}{Suppressing CSS}% + \fi}{\ClassError{\@classname}{printcss must be true or false}} +\define@boolkey+{@ACM@topmatter@}[@ACM@]{printbib}[true]{% + \if@ACM@printcss + \ClassInfo{\@classname}{Printing bibformat}% + \else + \ClassInfo{\@classname}{Suppressing bibformat}% + \fi}{\ClassError{\@classname}{printbib must be true or false}} +\def\settopmatter#1{\setkeys{@ACM@topmatter@}{#1}} +\settopmatter{printcss=true} +\if@ACM@manuscript + \settopmatter{printbib=false} +\else + \if@ACM@journal + \settopmatter{printbib=true} + \else + \settopmatter{printbib=false} + \fi +\fi +\def\@received{} +\newcommand\received[2][]{\def\@tempa{#1}% + \ifx\@tempa\@empty + \ifx\@received\@empty + \gdef\@received{Received #2}% + \else + \g@addto@macro{\@received}{; revised #2}% + \fi + \else + \ifx\@received\@empty + \gdef\@received{#1 #2}% + \else + \g@addto@macro{\@received}{; #1 #2}% + \fi + \fi} +\AtEndDocument{% + \ifx\@received\@empty\else + \par\bigskip\noindent\small\normalfont\@received\par + \fi} +\RequirePackage{comment} +\excludecomment{CCSXML} +\let\@concepts\@empty +\newcommand\ccsdesc[2][100]{% + \ccsdesc@parse#1~#2~} +\def\ccsdesc@parse#1~#2~#3~{% + \expandafter\ifx\csname CCS@#2\endcsname\relax + \expandafter\gdef\csname CCS@#2\endcsname{\textbullet\textbf{#2} $\to$ }% + \g@addto@macro{\@concepts}{\csname CCS@#2\endcsname}\fi + \expandafter\g@addto@macro\expandafter{\csname CCS@#2\endcsname}{% + \ifnum#1>499\textbf{#3; }\else + \ifnum#1>299\textit{#3; }\else + #3; \fi\fi}} +\newif\if@printcopyright +\@printcopyrighttrue +\newif\if@printpermission +\@printpermissiontrue +\newif\if@acmowned +\@acmownedtrue +\define@choicekey*{ACM@}{acmcopyrightmode}[% + \acm@copyrightinput\acm@copyrightmode]{none,acmcopyright,acmlicensed,% + rightsretained,usgov,usgovmixed,cagov,cagovmixed,% + licensedusgovmixed,licensedcagovmixed,othergov,licensedothergov}{% + \@printpermissiontrue + \@printcopyrighttrue + \@acmownedtrue + \ifnum\acm@copyrightmode=0\relax % none + \@printpermissionfalse + \@printcopyrightfalse + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=2\relax % acmlicensed + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=3\relax % rightsretained + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=4\relax % usgov + \@printpermissiontrue + \@printcopyrightfalse + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=6\relax % cagov + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=8\relax % licensedusgovmixed + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=9\relax % licensedcagovmixed + \@acmownedfalse + \fi + \ifnum\acm@copyrightmode=10\relax % othergov + \@acmownedtrue + \fi + \ifnum\acm@copyrightmode=11\relax % licensedothergov + \@acmownedfalse + \@printcopyrightfalse + \fi} +\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}} +\setcopyright{acmcopyright} +\def\@copyrightowner{% + \ifcase\acm@copyrightmode\relax % none + \or % acmcopyright + ACM\@. + \or % acmlicensed + Copyright held by the owner/author(s). Publication rights licensed to + ACM\@. + \or % rightsretained + Copyright held by the owner/author(s). + \or % usgov + \or % usgovmixed + ACM\@. + \or % cagov + Crown in Right of Canada. + \or %cagovmixed + ACM\@. + \or %licensedusgovmixed + Copyright held by the owner/author(s). Publication rights licensed to + ACM\@. + \or %licensedcagovmixed + Copyright held by the owner/author(s). Publication rights licensed to + ACM\@. + \or % othergov + ACM\@. + \or % licensedothergov + \fi} +\def\@formatdoi#1{\url{http://dx.doi.org/#1}} +\def\@copyrightpermission{% + \ifcase\acm@copyrightmode\relax % none + \or % acmcopyright + Permission to make digital or hard copies of all or part of this + work for personal or classroom use is granted without fee provided + that copies are not made or distributed for profit or commercial + advantage and that copies bear this notice and the full citation on + the first page. Copyrights for components of this work owned by + others than ACM must be honored. Abstracting with credit is + permitted. To copy otherwise, or republish, to post on servers or to + redistribute to lists, requires prior specific permission + and\hspace*{.5pt}/or a fee. Request permissions from + permissions@acm.org. + \or % acmlicensed + Permission to make digital or hard copies of all or part of this + work for personal or classroom use is granted without fee provided + that copies are not made or distributed for profit or commercial + advantage and that copies bear this notice and the full citation on + the first page. Copyrights for components of this work owned by + others than the author(s) must be honored. Abstracting with credit + is permitted. To copy otherwise, or republish, to post on servers + or to redistribute to lists, requires prior specific permission + and\hspace*{.5pt}/or a fee. Request permissions from + permissions@acm.org. + \or % rightsretained + Permission to make digital or hard copies of part or all of this work + for personal or classroom use is granted without fee provided that + copies are not made or distributed for profit or commercial advantage + and that copies bear this notice and the full citation on the first + page. Copyrights for third-party components of this work must be + honored. For all other uses, contact the + owner\hspace*{.5pt}/author(s). + \or % usgov + This paper is authored by an employee(s) of the United States + Government and is in the public domain. Non-exclusive copying or + redistribution is allowed, provided that the article citation is + given and the authors and agency are clearly identified as its + source. + \or % usgovmixed + ACM acknowledges that this contribution was authored or co-authored + by an employee, or contractor of the national government. As such, + the Government retains a nonexclusive, royalty-free right to + publish or reproduce this article, or to allow others to do so, for + Government purposes only. Permission to make digital or hard copies + for personal or classroom use is granted. Copies must bear this + notice and the full citation on the first page. Copyrights for + components of this work owned by others than ACM must be + honored. To copy otherwise, distribute, republish, or post, + requires prior specific permission and\hspace*{.5pt}/or a + fee. Request permissions from permissions@acm.org. + \or % cagov + This article was authored by employees of the Government of Canada. + As such, the Canadian government retains all interest in the + copyright to this work and grants to ACM a nonexclusive, + royalty-free right to publish or reproduce this article, or to allow + others to do so, provided that clear attribution is given both to + the authors and the Canadian government agency employing them. + Permission to make digital or hard copies for personal or classroom + use is granted. Copies must bear this notice and the full citation + on the first page. Copyrights for components of this work owned by + others than the Canadain Government must be honored. To copy + otherwise, distribute, republish, or post, requires prior specific + permission and\hspace*{.5pt}/or a fee. Request permissions from + permissions@acm.org. + \or % cagovmixed + ACM acknowledges that this contribution was co-authored by an + affiliate of the national government of Canada. As such, the Crown + in Right of Canada retains an equal interest in the copyright. + Reprints must include clear attribution to ACM and the author's + government agency affiliation. Permission to make digital or hard + copies for personal or classroom use is granted. Copies must bear + this notice and the full citation on the first page. Copyrights for + components of this work owned by others than ACM must be honored. + To copy otherwise, distribute, republish, or post, requires prior + specific permission and\hspace*{.5pt}/or a fee. Request permissions + from permissions@acm.org. + \or % licensedusgovmixed + Publication rights licensed to ACM\@. ACM acknowledges that this + contribution was authored or co-authored by an employee, contractor + or affiliate of the United States government. As such, the + Government retains a nonexclusive, royalty-free right to publish or + reproduce this article, or to allow others to do so, for Government + purposes only. + \or % licensedcagovmixed + Publication rights licensed to ACM\@. ACM acknowledges that this + contribution was authored or co-authored by an employee, contractor + or affiliate of the national government of Canada. As such, the + Government retains a nonexclusive, royalty-free right to publish or + reproduce this article, or to allow others to do so, for Government + purposes only. + \or % othergov + ACM acknowledges that this contribution was authored or co-authored + by an employee, contractor or affiliate of a national government. As + such, the Government retains a nonexclusive, royalty-free right to + publish or reproduce this article, or to allow others to do so, for + Government purposes only. + \or % licensedothergov + Publication rights licensed to ACM\@. ACM acknowledges that this + contribution was authored or co-authored by an employee, contractor + or affiliate of a national government. As such, the Government + retains a nonexclusive, royalty-free right to publish or reproduce + this article, or to allow others to do so, for Government purposes + only. + \fi} +\def\copyrightyear#1{\def\@copyrightyear{#1}} +\copyrightyear{\@acmYear} +\def\@teaserfigures{} +\newenvironment{teaserfigure}{\Collect@Body\@saveteaser}{} +\long\def\@saveteaser#1{\g@addto@macro\@teaserfigures{\@teaser{#1}}} +\renewcommand{\thanks}[1]{% + \@ifnotempty{#1}{% + \if@ACM@anonymous + \g@addto@macro\thankses{\thanks{A note}}% + \else + \g@addto@macro\thankses{\thanks{#1}}% + \fi}} +\newbox\mktitle@bx +\def\maketitle{% + \if@ACM@anonymous + % Anonymize omission of \author-s + \ifnum\num@authors=0\author{}\fi + \fi + \begingroup + \let\@footnotemark\@footnotemark@nolink + \let\@footnotetext\@footnotetext@nolink + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \@topnum\z@ % this prevents figures from falling at the top of page + % 1 + \hsize=\textwidth + \def\@makefnmark{\hbox{\@textsuperscript{\@thefnmark}}} + \@mktitle\if@ACM@sigchiamode\else\@mkauthors\fi\@mkteasers + \@printtopmatter + \if@ACM@sigchiamode\@mkauthors\fi + \setcounter{footnote}{0}% + \def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}} + \@titlenotes + \@subtitlenotes + \@authornotes + \let\@makefnmark\relax \let\@thefnmark\relax + \let\@makefntext\noindent + \ifx\@empty\thankses\else + \@footnotetext{\def\par{\let\par\@par}\parindent\z@\@setthanks}% + \fi + \footnotetextcopyrightpermission{\parindent\z@\parskip0.1\baselineskip + \if@ACM@authorversion\else + \if@printpermission\@copyrightpermission\par\fi + \fi + \if@ACM@manuscript\else + \if@ACM@journal\else % Print the conference short name + {\itshape \acmConference@shortname, \acmConference@venue}\par + \fi + \fi + \if@printcopyright + \copyright\ \@copyrightyear\ \@copyrightowner\ + \else + \@copyrightyear.\ + \fi + \if@ACM@manuscript + Manuscript submitted to ACM\\ + \else + \if@ACM@authorversion + This is the author's version of the work. It is posted here for + your personal use. Not for redistribution. The definitive Version + of Record was published in + \if@ACM@journal + \emph{\@journalName}% + \else + \emph{Proceedings of \acmConference@name, \acmConference@date}% + \fi + \ifx\@acmDOI\@empty + . + \else + , \@formatdoi{\@acmDOI}. + \fi\\ + \else + \if@ACM@journal + \@permissionCodeOne/\@acmYear/\@acmMonth-ART\@acmArticle\ + \$\@acmPrice\\ + \else % Conference + \@acmISBN + \ifx\@acmPrice\@empty.\else\dots\$\@acmPrice\fi\\ + \fi + \fi + \fi + DOI: \nolinkurl{\@acmDOI}}% + \endgroup + \setcounter{footnote}{0}% + \@mkabstract + \if@ACM@printcss + \ifx\@concepts\@empty\else\bgroup + {\@specialsection{CCS Concepts}% + \@concepts\par}\egroup + \fi + \fi + \if\@terms\@empty\else\bgroup + {\@specialsection{General Terms}% + \@terms\par}\egroup + \fi + \ifx\@keywords\@empty\else\bgroup + {\if@ACM@journal + \@specialsection{Additional Key Words and Phrases}% + \else + \@specialsection{Keywords}% + \fi + \@keywords}\par\egroup + \fi + \andify\authors + \andify\shortauthors + \global\let\authors=\authors + \global\let\shortauthors=\shortauthors + \if@ACM@printbib + \@mkbibcitation + \fi + \hypersetup{pdfauthor={\authors}, + pdftitle={\@title}, pdfkeywords={\@concepts}}% + \@printendtopmatter + \@afterindentfalse + \@afterheading +} +\def\@specialsection#1{% + \if@ACM@journal + \par\medskip\small\noindent#1: % + \else + \section*{#1}% + \fi} +\def\@printtopmatter{% + \ifx\@startPage\@empty + \gdef\@startPage{1}% + \else + \setcounter{page}{\@startPage}% + \fi + \thispagestyle{firstpagestyle}% + \noindent + \ifcase\ACM@format@nr + \relax % manuscript + \box\mktitle@bx\par + \noindent\hrulefill\par + \or% acmsmall + \box\mktitle@bx\par + \noindent\hrulefill\par + \or % acmlarge + \box\mktitle@bx\par + \noindent\hrulefill\par + \or % acmtog + \twocolumn[\box\mktitle@bx]% + \or % sigconf + \twocolumn[\box\mktitle@bx]% + \or % siggraph + \twocolumn[\box\mktitle@bx]% + \or % sigplan + \twocolumn[\box\mktitle@bx]% + \or % sigchi + \twocolumn[\box\mktitle@bx]% + \or % sigchi-a + \par\box\mktitle@bx\par\bigskip + \if@ACM@badge + \marginpar{\noindent + \ifx\@acmBadgeL@image\@empty\else + \href{\@acmBadgeL@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}% + \hskip\@ACM@badge@skip + \fi + \ifx\@acmBadgeR@image\@empty\else + \href{\@acmBadgeR@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}% + \fi}% + \fi + \fi +} +\def\@mktitle{% + \ifcase\ACM@format@nr + \relax % manuscript + \@mktitle@i + \or% acmsmall + \@mktitle@i + \or % acmlarge + \@mktitle@i + \or % acmtog + \@mktitle@i + \or % sigconf + \@mktitle@iii + \or % siggraph + \@mktitle@iii + \or % sigplan + \@mktitle@iii + \or % sigchi + \@mktitle@iii + \or % sigchi-a + \@mktitle@iv + \fi +} +\def\@titlefont{% + \ifcase\ACM@format@nr + \relax % manuscript + \LARGE\bfseries\sffamily + \or% acmsmall + \LARGE\bfseries\sffamily + \or % acmlarge + \LARGE\bfseries\sffamily + \or % acmtog + \Huge\sffamily + \or % sigconf + \Huge\sffamily\bfseries + \or % siggraph + \Huge\sffamily\bfseries + \or % sigplan + \Huge\sffamily\bfseries + \or % sigchi + \Huge\sffamily\bfseries + \or % sigchi-a + \Huge\bfseries + \fi} +\def\@subtitlefont{% + \ifcase\ACM@format@nr + \relax % manuscript + \mdseries + \or% acmsmall + \mdseries + \or % acmlarge + \mdseries + \or % acmtog + \LARGE + \or % sigconf + \LARGE\mdseries + \or % siggraph + \LARGE\mdseries + \or % sigplan + \LARGE\mdseries + \or % sigchi + \LARGE\mdseries + \or % sigchi-a + \mdseries + \fi} +\def\@mktitle@i{\hsize=\textwidth + \@ACM@title@width=\hsize + \ifx\@acmBadgeL@image\@empty\else + \advance\@ACM@title@width by -\@ACM@badge@width + \advance\@ACM@title@width by -\@ACM@badge@skip + \fi + \ifx\@acmBadgeR@image\@empty\else + \advance\@ACM@title@width by -\@ACM@badge@width + \advance\@ACM@title@width by -\@ACM@badge@skip + \fi + \setbox\mktitle@bx=\vbox{\noindent\@titlefont + \ifx\@acmBadgeL@image\@empty\else + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% + \hskip\@ACM@badge@skip + \fi + \parbox[t]{\@ACM@title@width}{\raggedright + \@titlefont\noindent + \@title + \ifx\@subtitle\@empty\else + \par\noindent{\@subtitlefont\@subtitle} + \fi}% + \ifx\@acmBadgeR@image\@empty\else + \hskip\@ACM@badge@skip + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% + \fi + \par\bigskip}}% +\def\@mktitle@iii{\hsize=\textwidth + \setbox\mktitle@bx=\vbox{\@titlefont\centering + \@ACM@title@width=\hsize + \if@ACM@badge + \advance\@ACM@title@width by -2\@ACM@badge@width + \advance\@ACM@title@width by -2\@ACM@badge@skip + \parbox[b]{\@ACM@badge@width}{\strut + \ifx\@acmBadgeL@image\@empty\else + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeL@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeL@image}}}% + \fi}% + \hskip\@ACM@badge@skip + \fi + \parbox[t]{\@ACM@title@width}{\centering\@titlefont + \@title + \ifx\@subtitle\@empty\else + \par\noindent{\@subtitlefont\@subtitle} + \fi + }% + \if@ACM@badge + \hskip\@ACM@badge@skip + \parbox[b]{\@ACM@badge@width}{\strut + \ifx\@acmBadgeR@image\@empty\else + \raisebox{-.5\baselineskip}[\z@][\z@]{\href{\@acmBadgeR@url}{% + \includegraphics[width=\@ACM@badge@width]{\@acmBadgeR@image}}}% + \fi}% + \fi + \par\bigskip}}% +\def\@mktitle@iv{\hsize=\textwidth + \setbox\mktitle@bx=\vbox{\raggedright\leftskip5pc\@titlefont + \noindent\leavevmode\leaders\hrule height 2pt\hfill\kern0pt\par + \noindent\@title + \ifx\@subtitle\@empty\else + \par\noindent\@subtitlefont\@subtitle + \fi + \par\bigskip}}% +\def\@mkauthors{\begingroup + \hsize=\textwidth + \ifcase\ACM@format@nr + \relax % manuscript + \@mkauthors@i + \or% acmsmall + \@mkauthors@i + \or % acmlarge + \@mkauthors@i + \or % acmtog + \@mkauthors@ii + \or % sigconf + \@mkauthors@iii + \or % siggraph + \@mkauthors@iii + \or % sigplan + \@mkauthors@iii + \or % sigchi + \@mkauthors@iii + \or % sigchi-a + \@mkauthors@iv + \fi + \endgroup +} +\def\@authorfont{\Large\sffamily} +\def\@affiliationfont{\normalsize\normalfont} +\ifcase\ACM@format@nr +\relax % manuscript +\or% acmsmall +\or % acmlarge +\or % acmtog + \def\@authorfont{\LARGE\sffamily} + \def\@affiliationfont{\large} +\or % sigconf + \def\@authorfont{\LARGE} + \def\@affiliationfont{\large} +\or % siggraph + \def\@authorfont{\normalsize\normalfont} + \def\@affiliationfont{\normalsize\normalfont} +\or % sigplan +\or % sigchi + \def\@authorfont{\bfseries} + \def\@affiliationfont{\mdseries} +\or % sigchi-a + \def\@authorfont{\bfseries} + \def\@affiliationfont{\mdseries} +\fi +\def\@mkauthors@i{% + \def\@currentauthors{}% + \def\and{% + \andify\@currentauthors\par\noindent + \@currentauthors\def\@currentauthors{}}% + \def\@author##1{% + \ifx\@currentauthors\@empty + \gdef\@currentauthors{\@authorfont\MakeUppercase{##1}}% + \else + \g@addto@macro{\@currentauthors}{\and\MakeUppercase{##1}}% + \fi + \def\and{}}% + \def\email##1##2{}% + \def\affiliation##1##2{% + \ifx\@currentauthors\@empty\else + \andify\@currentauthors\par\noindent\@currentauthors + \fi + \def\@currentauthors{}\def\@tempa{##2}\ifx\@tempa\@empty\else + \unskip, {\@affiliationfont##2}\fi\def\and{\par\noindent}}% + \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip + \noindent\addresses\andify\@currentauthors\par\noindent\@currentauthors\par\medskip}% +} +\def\@mkauthors@ii{\par\medskip + \def\@currentauthors{}% + \def\and{}% + \def\@author##1{% + \ifx\@currentauthors\@empty + \gdef\@currentauthors{\@authorfont + \MakeUppercase{##1}}% + \else + \g@addto@macro{\@currentauthors}{\and\MakeUppercase{##1}}% + \fi\def\and{}}% + \def\email##1##2{}% + \def\affiliation##1##2{% + \ifx\@currentauthors\@empty\else + \andify\@currentauthors\par\noindent\@currentauthors + \fi + \def\@currentauthors{}\def\@tempa{##2}\ifx\@tempa\@empty\else + \par\noindent{\@affiliationfont##2}\fi + \def\and{\par\noindent{\@affiliationfont and}\par + \noindent\def\and{}}}% + \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par\medskip + \noindent\addresses\andify\@currentauthors\par\noindent\@currentauthors\par\medskip}% +} +\newbox\author@bx +\newdimen\author@bx@wd +\newskip\author@bx@sep +\author@bx@sep=1pc\relax +\def\@mkauthors@iii{% + \author@bx@wd=\textwidth\relax + \advance\author@bx@wd by -\author@bx@sep\relax + \ifcase\num@authors + \relax % 0? + \or % 1=one author per row + \or % 2=two authors per row + \divide\author@bx@wd by \num@authors\relax + \or % 3=three authors per row + \divide\author@bx@wd by \num@authors\relax + \or % 4=two authors per row (!) + \divide\author@bx@wd by 2\relax + \else % three authors per row + \divide\author@bx@wd by 3\relax + \fi + \advance\author@bx@wd by -\author@bx@sep\relax + \gdef\@currentauthors{}% + \gdef\@currentaffiliation{}% + \def\@author##1{\ifx\@currentauthors\@empty + \gdef\@currentauthors{\par##1}% + \else + \g@addto@macro\@currentauthors{\quad##1}% + \fi}% + \def\email##1##2{\ifx\@currentaffiliation\@empty + \gdef\@currentaffiliation{\nolinkurl{##2}}% + \else + \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% + \fi}% + \def\affiliation##1##2{\ifx\@currentaffiliation\@empty + \gdef\@currentaffiliation{##2}% + \else + \g@addto@macro\@currentaffiliation{\par##2}% + \fi}% + \def\and{\bgroup\hsize=\author@bx@wd\def\and{\quad}% + \global\setbox\author@bx=\vtop{\centering + \@authorfont\@currentauthors\par\@affiliationfont + \@currentaffiliation}\egroup + \box\author@bx\hspace{\author@bx@sep}% + \gdef\@currentauthors{}% + \gdef\@currentaffiliation{}}% + \hsize=\textwidth + \global\setbox\mktitle@bx=\vbox{\noindent + \box\mktitle@bx\par\medskip\leavevmode + \lineskip=1pc\relax\centering\hspace*{-1em}% + \addresses\and\par\bigskip}} +\def\@mkauthors@iv{% + \author@bx@wd=\columnwidth\relax + \advance\author@bx@wd by -\author@bx@sep\relax + \ifcase\num@authors + \relax % 0? + \or % 1=one author per row + \else % 2=two authors per row + \divide\author@bx@wd by 2\relax + \fi + \advance\author@bx@wd by -\author@bx@sep\relax + \gdef\@currentauthors{}% + \gdef\@currentaffiliation{}% + \def\@author##1{\ifx\@currentauthors\@empty + \gdef\@currentauthors{\par##1}% + \else + \g@addto@macro\@currentauthors{\quad##1}% + \fi}% + \def\email##1##2{\ifx\@currentaffiliation\@empty + \gdef\@currentaffiliation{\nolinkurl{##2}}% + \else + \g@addto@macro\@currentaffiliation{\par\nolinkurl{##2}}% + \fi}% + \def\affiliation##1##2{\ifx\@currentaffiliation\@empty + \gdef\@currentaffiliation{##2}% + \else + \g@addto@macro\@currentaffiliation{\par##2}% + \fi}% + \def\and{\bgroup\hsize=\author@bx@wd\def\and{\quad}% + \global\setbox\author@bx=\vtop{\raggedright + \@authorfont\@currentauthors\par\@affiliationfont + \@currentaffiliation}\egroup + \box\author@bx\hskip\author@bx@sep + \gdef\@currentauthors{}% + \gdef\@currentaffiliation{}}% + \bgroup\hsize=\columnwidth + \par\raggedright\leftskip=\z@ + \lineskip=1pc\noindent\addresses\and\par\bigskip\egroup} +\def\@authornotemark{\g@addto@macro\@currentauthors{\footnotemark}} +\def\@mkteasers{% + \ifx\@teaserfigures\@empty\else + \def\@teaser##1{\par\bigskip\bgroup + \captionsetup{type=figure}##1\egroup\par} + \global\setbox\mktitle@bx=\vbox{\noindent\box\mktitle@bx\par + \noindent\@teaserfigures\par\medskip}% + \fi} +\def\@setaddresses{} +\def\@mkabstract{\bgroup + \ifx\@abstract\@lempty\else + {\if@ACM@journal + \small\noindent + \else + \section*{ABSTRACT}% + \fi + \@abstract\par}% + \fi\egroup} +\def\@mkbibcitation{\bgroup + \par\medskip\small\noindent{\bfseries ACM Reference format:}\par + \noindent\authors. \@acmYear. \@title. \textit{\@journalNameShort} + \@acmVolume, \@acmNumber, Article~\@acmArticle\ + (\@acmPubDate), \ref{TotPages}~pages.\par + \noindent DOI: \nolinkurl{\@acmDOI} +\par\egroup} +\def\@printendtopmatter{\par\medskip + \ifcase\ACM@format@nr + \relax % manuscript + \noindent\hrulefill\par\medskip + \or% acmsmall + \noindent\hrulefill\par\medskip + \or % acmlarge + \noindent\hrulefill\par\medskip + \or % acmtog + \par\bigskip + \or % sigconf + \par\bigskip + \or % siggraph + \par\bigskip + \or % sigplan + \par\bigskip + \or % sigchi + \par\bigskip + \or % sigchi-a + \fi +} +\def\@setthanks{\long\def\thanks##1{\par##1\@addpunct.}\thankses} +\RequirePackage{fancyhdr} +\if@ACM@review + \newsavebox{\ACM@linecount@bx} + \savebox{\ACM@linecount@bx}[4em][t]{\parbox[t]{4em}{% + \newlength\ACM@linecount@bxht\setlength{\ACM@linecount@bxht}{-\baselineskip} + \@tempcnta\@ne\relax + \loop{\color{ACMRed}\scriptsize\the\@tempcnta}\\ + \advance\@tempcnta by \@ne + \addtolength{\ACM@linecount@bxht}{\baselineskip} + \ifdim\ACM@linecount@bxht<\textheight\repeat}} +\fi +\def\ACM@linecount{% + \if@ACM@review + \begin{picture}(0,0)% + \put(-26,-22){\usebox{\ACM@linecount@bx}}% + \end{picture}% + \fi} +\fancypagestyle{standardpagestyle}{% + \fancyhf{}% + \renewcommand{\headrulewidth}{\z@}% + \renewcommand{\footrulewidth}{\z@}% + \ifcase\ACM@format@nr + \relax % manuscript + \fancyhead[RE]{\thepage}% + \fancyhead[LO]{\ACM@linecount\thepage}% + \fancyhead[LE]{\ACM@linecount\shortauthors}% + \fancyhead[RO]{\shorttitle}% + \fancyfoot[RO,LE]{\footnotesize Manuscript submitted to ACM}% + \or% acmsmall + \fancyhead[RE]{\sffamily\@acmArticle:\thepage}% + \fancyhead[LO]{\ACM@linecount\sffamily\@acmArticle:\thepage}% + \fancyhead[LE]{\ACM@linecount\sffamily\shortauthors}% + \fancyhead[RO]{\sffamily\shorttitle}% + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \or % acmlarge + \fancyhead[LE]{\ACM@linecount\sffamily + \@acmArticle:\thepage\quad\textbullet\quad\shortauthors}% + \fancyhead[LO]{\ACM@linecount}% + \fancyhead[RO]{\sffamily + \shorttitle\quad\textbullet\quad\@acmArticle:\thepage}% + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \or % acmtog + \fancyhead[LE]{\ACM@linecount\sffamily + \@acmArticle:\thepage\quad\textbullet\quad\shortauthors}% + \fancyhead[LO]{\ACM@linecount}% + \fancyhead[RO]{\sffamily + \shorttitle\quad\textbullet\quad\@acmArticle:\thepage}% + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}% + \else % Proceedings + \fancyfoot[R]{\footnotesize\thepage}% + \fancyhead[L]{\ACM@linecount}% + \fi +} +\pagestyle{standardpagestyle} +\newdimen\@folio@wd +\@folio@wd=\z@ +\newdimen\@folio@ht +\@folio@ht=\z@ +\newdimen\@folio@voffset +\@folio@voffset=\z@ +\def\@folio@max{1} +\ifcase\ACM@format@nr +\relax % manuscript +\or% acmsmall + \@folio@wd=45.75pt\relax + \@folio@ht=1.25in\relax + \@folio@voffset=.2in\relax + \def\@folio@max{8} +\or % acmlarge + \@folio@wd=43.25pt\relax + \@folio@ht=79pt\relax + \@folio@voffset=.55in\relax + \def\@folio@max{10} +\fi +\def\@folioblob{\@tempcnta=\@acmArticleSeq\relax + \loop + \ifnum\@tempcnta>\@folio@max\relax + \advance\@tempcnta by - \@folio@max + \repeat + \advance\@tempcnta by -1\relax + \@tempdima=\@folio@ht\relax + \multiply\@tempdima by \the\@tempcnta\relax + \advance\@tempdima by -\@folio@voffset\relax + \begin{picture}(0,0) + \makebox[\z@]{\raisebox{-\@tempdima}{% + \rlap{% + \raisebox{-0.45\@folio@ht}[\z@][\z@]{% + \rule{\@folio@wd}{\@folio@ht}}}% + \parbox{\@folio@wd}{% + \centering + \textcolor{white}{\LARGE\bfseries\sffamily\@acmArticle}}}} + \end{picture}} + +\fancypagestyle{firstpagestyle}{% + \fancyhf{}% + \renewcommand{\headrulewidth}{\z@}% + \renewcommand{\footrulewidth}{\z@}% + \ifcase\ACM@format@nr + \relax % manuscript + \fancyhead[L]{\ACM@linecount}% + \fancyfoot[RO,LE]{\small\thepage}% + \fancyfoot[RE,LO]{\footnotesize Manuscript submitted to ACM}% + \or% acmsmall + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fancyhead[LE]{\ACM@linecount\@folioblob}% + \fancyhead[LO]{\ACM@linecount}% + \fancyhead[RO]{\@folioblob}% + \fancyheadoffset[RO,LE]{0.6\@folio@wd}% + \or % acmlarge + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fancyhead[RO]{\@folioblob}% + \fancyhead[LE]{\ACM@linecount\@folioblob}% + \fancyhead[LO]{\ACM@linecount}% + \fancyheadoffset[RO,LE]{1.4\@folio@wd}% + \or % acmtog + \fancyfoot[RO,LE]{\footnotesize \@journalName, Vol. \@acmVolume, No. + \@acmNumber, Article \@acmArticle. Publication date: + \@acmPubDate.}% + \fancyhead[L]{\ACM@linecount}% + \else % Conference proceedings + \fancyhead[L]{\ACM@linecount}% + \fancyfoot[R]{\footnotesize\thepage}% + \fi +} +\def\@secfont{\sffamily\bfseries\raggedright\MakeUppercase} +\def\@subsecfont{\sffamily\bfseries\raggedright} +\def\@subsubsecfont{\sffamily\itshape} +\def\@parfont{\itshape} +\setcounter{secnumdepth}{3} +\ifcase\ACM@format@nr +\relax % manuscript +\or% acmsmall +\or % acmlarge + \def\@secfont{\sffamily\large\raggedright\MakeUppercase} + \def\@subsecfont{\sffamily\large\raggedright} +\or % acmtog + \def\@secfont{\sffamily\large\raggedright\MakeUppercase} + \def\@subsecfont{\sffamily\large\raggedright} +\or % sigconf + \def\@secfont{\bfseries\Large\raggedright\MakeUppercase} + \def\@subsecfont{\bfseries\Large\raggedright} +\or % siggraph + \def\@secfont{\bfseries\sffamily\Large\raggedright\MakeUppercase} + \def\@subsecfont{\bfseries\sffamily\Large\raggedright} +\or % sigplan + \def\@secfont{\bfseries\Large\raggedright\MakeUppercase} + \def\@subsecfont{\bfseries\Large\raggedright} +\or % sigchi + \setcounter{secnumdepth}{1} + \def\@secfont{\bfseries\sffamily\raggedright\MakeUppercase} + \def\@subsecfont{\bfseries\sffamily\raggedright} +\or % sigchi-a + \setcounter{secnumdepth}{0} + \def\@secfont{\bfseries\sffamily\raggedright\MakeUppercase} + \def\@subsecfont{\bfseries\sffamily\raggedright} +\fi +\def\@adddotafter#1{#1\@addpunct{.}} +\renewcommand\section{\@startsection{section}{1}{\z@}% + {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% + {.25\baselineskip}% + {\@secfont}} +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-.75\baselineskip \@plus -2\p@ \@minus -.2\p@}% + {.25\baselineskip}% + {\@subsecfont}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{10pt}% + {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% + {-3.5\p@}% + {\@subsubsecfont\@adddotafter}} +\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% + {-.5\baselineskip \@plus -2\p@ \@minus -.2\p@}% + {-3.5\p@}% + {\@parfont\@adddotafter}} +\renewcommand\part{\@startsection{part}{9}{\z@}% + {-10\p@ \@plus -4\p@ \@minus -2\p@}% + {4\p@}% + {\@parfont}} +\newtheoremstyle{acmplain}% + {.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip}% space above + {.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip}% Space below + {\itshape}% body font + {\parindent}% indent amount + {\scshape}% head font + {.}% punctuation after head + {.5em}% spacing after head + {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}}% head spec +\newtheoremstyle{acmdefinition}% + {.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip}% space above + {.5\baselineskip\@plus.2\baselineskip + \@minus.2\baselineskip}% Space below + {\normalfont}% body font + {\parindent}% indent amount + {\itshape}% head font + {.}% punctuation after head + {.5em}% spacing after head + {\thmname{#1}\thmnumber{ #2}\thmnote{ \itshape(#3)}}% head spec +\theoremstyle{acmplain} +\newtheorem{theorem}{Theorem}[section] +\newtheorem{conjecture}[theorem]{Conjecture} +\newtheorem{proposition}[theorem]{Proposition} +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{corollary}[theorem]{Corollary} +\theoremstyle{acmdefinition} +\newtheorem{example}[theorem]{Example} +\newtheorem{definition}[theorem]{Definition} +\renewenvironment{proof}[1][\proofname]{\par + \pushQED{\qed}% + \normalfont \topsep6\p@\@plus6\p@\relax + \trivlist + \item[\indent\hskip\labelsep + \scshape + #1\@addpunct{.}]\ignorespaces +}{% + \popQED\endtrivlist\@endpefalse +} +\if@ACM@screen + \includecomment{screenonly} + \excludecomment{printonly} +\else + \excludecomment{screenonly} + \includecomment{printonly} +\fi +\if@ACM@anonymous + \excludecomment{anonsuppress} +\else + \includecomment{anonsuppress} +\fi +\normalsize\normalfont +\endinput +%% +%% End of file `acmart.cls'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index b6f31bc728f..112f311c9e3 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -25,7 +25,7 @@ my @TLP_working = qw( a0poster a2ping a4wide a5comb aastex abbr abc abntex2 abraces abstract abstyles academicons accanthis accfonts achemso - acmconf acro acronym acroterm + acmart acmconf acro acronym acroterm active-conf actuarialangle addlines adfathesis adforn adhocfilelist adjmulticol adfsymbols adjustbox adobemapping diff --git a/Master/tlpkg/tlpsrc/acmart.tlpsrc b/Master/tlpkg/tlpsrc/acmart.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/acmart.tlpsrc diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc index 830b4ea7ffc..3292981e964 100644 --- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc @@ -7,6 +7,7 @@ depend IEEEconf depend IEEEtran depend aastex depend abntex2 +depend acmart depend acmconf depend active-conf depend adfathesis |