diff --git a/.bzrignore b/.bzrignore deleted file mode 100644 index fc7b852..0000000 --- a/.bzrignore +++ /dev/null @@ -1,6 +0,0 @@ -cv_xdanaux* -*.sh -examples/*.sh -examples/template_casual_orange.tex -examples/template_classic_green.tex -examples/template_multibib.tex diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 0000000..89950d6 --- /dev/null +++ b/.codespellrc @@ -0,0 +1,7 @@ +[codespell] +# Ref: https://github.com/codespell-project/codespell#using-a-config-file +skip = .git*,*.pdf,.codespellrc +check-hidden = true +# names, case sensitive +ignore-regex = \bWille\b|\\@\S+ +# ignore-words-list = diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..dfec81a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,27 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**Expected Behavior** + + +**Actual Behavior** + + +**Minimum Working Example to Reproduce the Problem** + +**Specifications** + - moderncv version and source: + - LaTeX compiler (pdfLaTeX, XeLaTeX, etc.) and version: + - Platform (operating system, LaTeX editor, etc.): + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/build-pdf.yml b/.github/workflows/build-pdf.yml new file mode 100644 index 0000000..8d320f4 --- /dev/null +++ b/.github/workflows/build-pdf.yml @@ -0,0 +1,48 @@ +name: Build template + +on: + push: + branches: + - master + pull_request: + registry_package: + +jobs: + build-template: + name: Build template + runs-on: ubuntu-latest + container: + image: texlive/texlive:latest-full + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Build pdf + run: | + prev_style=contemporary + for style in casual classic banking oldstyle fancy contemporary + do + echo -e "\033[1;35mCompiling style $style...\033[0m" + # first cleanup, but keep .log files for later artifact upload + latexmk -c -e 'sub cleanup_generated { my $ext = $_[0]; return 0 if $ext eq "log"; return 1; }' + sed -i "s/moderncvstyle\[\]{${prev_style}}/moderncvstyle\[\]{${style}}/g" template.tex + latexmk -pdflua ./template.tex + mv template.pdf template_${style}.pdf + mv template.log template_${style}.log + # remember previous style + prev_style=$style + done + + - name: Upload pdf + uses: actions/upload-artifact@v4 + with: + name: template.pdf + path: ./template_*.pdf + + - name: Upload log + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: template.log + path: ./template_*.log diff --git a/.github/workflows/build-userguide-pdf.yml b/.github/workflows/build-userguide-pdf.yml new file mode 100644 index 0000000..665b93c --- /dev/null +++ b/.github/workflows/build-userguide-pdf.yml @@ -0,0 +1,55 @@ +name: Build user guide + +on: + push: + branches: + - master + paths: + - 'manual/moderncv_userguide.tex' + pull_request: + paths: + - 'manual/moderncv_userguide.tex' + +jobs: + build-userguide: + name: Build user guide + runs-on: ubuntu-latest + env: + UG_AUTHOR: Auto Userguide Creator + UG_COMMIT_MESSAGE: build of user guide + container: + image: texlive/texlive:latest-full + + steps: + - name: Checkout source code + uses: actions/checkout@v4 + with: + fetch-depth: 2 + + - name: Build user guide pdf + run: latexmk -pdflua -cd ./manual/moderncv_userguide.tex + + - name: Upload user guide pdf + uses: actions/upload-artifact@v4 + with: + name: moderncv_userguide.pdf + path: ./manual/moderncv_userguide.pdf + + - name: Upload user guide log + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: moderncv_userguide.log + path: ./manual/moderncv_userguide.log + + - name: Push new user guide to master + if: ${{ github.ref_name == 'master' }} + run: | + # maybe switch to an image with git already included, for now install it here + apt update && apt install git -y + git config --global user.name '${{ env.UG_AUTHOR }}' + git config --global user.email '${{ github.actor }}@users.noreply.github.com' + ls -l + git add manual/moderncv_userguide.pdf + git commit -m "${{ env.UG_COMMIT_MESSAGE }}" + git push diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 0000000..b026c85 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,25 @@ +# Codespell configuration is within .codespellrc +--- +name: Codespell + +on: + push: + branches: [master] + pull_request: + branches: [master] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Annotate locations with typos + uses: codespell-project/codespell-problem-matcher@v1 + - name: Codespell + uses: codespell-project/actions-codespell@v2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2e83ea9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# general latex build output files +*.aux +*.bbl +*.blg +*.fdb_latexmk +*.fls +*.log +*.out +*.synctex.gz +*.xdv +*.toc + +# template.tex output +# move to *.pdf once manual is done +template.pdf + +# release tarballs +moderncv-*.tar.gz diff --git a/CHANGELOG b/CHANGELOG index bda39c9..f950fc9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,179 +1,457 @@ -version 0.15.1 (23 December 2011) - - corrected a bug in the classic style causing the address font and color not being - carried over newlines, as reported by J. Smith - -version 0.15 (19 December 2011) - - corrected list spacing. - - corrected inconsistent use of sans serif fonts in roman layout option. - - the lmodern fonts are now automatically loaded only if installed on the system. - The "nolmodern" option is now therefore obsolete. - - complete code refactoring separating themes in separate styles and colors. - - renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer - to \cvdoubleitem (the old command name still work and redirect to the new ones, - but are deprecated). - - removed the arbitrary minipage widths of skill proficiency vs comment in - \cvitemwithcomments. The skill proficiency is now typeset exactly as given (i.e. - one one line if no linebreaks are implicitly given) and the comment uses the - remaining horizontal space. - - changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify - the vertical skip after the item (as for \cvitem, cvitemwithcomments, etc). - The way to change the list symbol is to redefine \listitemsymbol. - - added a new style on top of classic and casual: oldstyle. - - loaded the microtype package to improve typography. - -version 0.14 (04 December 2011) - - added support for CJK, thanks to the help of P. D'Apice. - - the use of \recomputelengths after modifying any length in the preamble is now - unnecessary; \recomputelength is automatically called at the start of the document. - -version 0.13.1 (11 November 2011) - - corrected a bug introduced by v0.13 in the classic style when no \photo is used, - as reported by S. Gislais (launchpad bug #888702). - -version 0.13 (06 November 2011) - - added a "black" color option to render the resume in black & white, as suggested - by F. Bicarri. - - removed the pdflatex option when loading hyperref to enable other engines - (e.g., dvips, xetex), leftover from the v 0.11 cleanup, as reported by - K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834). - - added a "purple" color option, as proposed by B. Ravel. - - added a 3rd optional argument to the \photo command to control the thickness of - the framebox. Setting it to 0pt will disable the frame around the photo, as - requested by T. Krennwallner (launchpad byg #664568). - -version 0.12 (03 August 2010) - - prevented pagebreaks after sections and subsections (launchpad bug #409902), - as originally reported by C. Gaspoz and fixed by launchpad user tentotwo). - -version 0.11 (20 July 2010) - - removed the \ifpdf check when loading the graphicx package, as graphicx does - does check internally and this was preventing proper functionning with xelatex - and luatex, as reported by A. Trautmann. The same check was also removed - everywhere else in the document (i.e. when loading the color and hyperref - packages). - -version 0.10 (13 June 2010) - - fixed a compatibility issue with the natbib package (natbib uses \section* - to format the bibliography title, while only \section was defined by moderncv), - as reported on launchpad (launchpad bug #393920). - - fixed a compatibility issues with (any package relying on) the etoolbox package, - due to the double definition of \AtEndPreamble, as reported by D. Becker. - -version 0.9 (31 May 2010) - - added support for the itemize, enumerate and description environments. - -version 0.8 (24 May 2010) - - added support for multibib. Also modified the template to illustrate how to show - labels in the bibliography, as requested by Tom D. R. and Stefan K. - - added a command to indicate your personal homepage (\homepage{url}), as - requested by J. de Jong and A. Pairet. - - corrected an alignment bug for text following a \quote with no immediate - \section, as kindly reported by J. Vermeulen and L. Saliou. - - corrected a spacing bug when no blank line (or \par) is left after \maketitle. - Thanks to A. Menzel for reporting the strange behaviour. - - corrected the alignment of the extrainfo title part when no picture was used, - as reported by M. Bana. - - corrected the missplacement of pdf bookmarks as noticed by L. Fortunato. - - corrected several bugs linked to the code for checking for empty arguments in - \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and - E. Gregorio. - -version 0.7 (17 June 2008) - - corrected an outstanding spacing bug (space between cvlines longer - than 1 line). - - removed the need to use \closesection and \emptysection as internal - tabulars are now always closed. This allows she use of bibliography packages - such as bibunits. Thanks to S. Busch for pointing out the incompatibility and - helping testing out the bug correction. - - changed the definition of \photo: the first (optional) argument should - give the desired width of the picture, instead of its height - - corrected an alignment bug for \cvlistitems longer than 1 line, as - reported by S. Nikolopoulos. - - deprecated the commands \sethintscolumnlength and \sethintscolumntowidth. - Instead, just set \hintscolumnwidth to the desired length by using the regular - \setlength or \settowidth commands, and call \recomputelengths. - - added the ability to control the width of the name placeholder in the classic - theme, by setting the length \maketitlenamewidth. Again, don't forget to call - \recomputelengths afterward. - -version 0.6 (28 May 2007) - - corrected some spacing bugs and cleaned up the code. - - corrected a bug in the bibliography file of the examples spotted by - U. Stöhr. - - added color variants to the classic and casual style, as suggested by - U. Stöhr. - - added a page counter for resumes running longer than 1 page, as requested by - A. Martin. It can be disabled by the command \nopagenumbers{}. - - added commands to include a mobile phone and fax number. - - made the symbols used for the phone number, the email, ... customizable. - To modify those symbols, just redefine \phonesymbol, emailsymbol, ... - - corrected the pdf information given to hyperref as pointed out by - C. Knuepfer. - - rewrote the examples. - -version 0.5 (9 September 2006) - - added a \photo command to display a picture. That command takes the name of - the file with the picture as argument, and the desired height as optional - argument. - - implemented the needed commands to make moderncv compatible with BibTeX, as - suggested by J. Lie. This makes it possible to display one's publications, - stored in the BibTeX file 'publications.bib' - by using: - \nocite{*} - \bibliographystyle{plain} - \bibliography{publications} - As usual, the name of the section title can be changed by redefining the - command \refname. - - added the \today command, useful for example if one need to add the date the - resumé was produced with - \closesection{} - \vfill{\hfill{\scriptsize Produced \today.}} - at the end of your CV, as suggested by F. Hammann. - -version 0.4 (2 May 2006) - - removed the dependency on the geometry package, so that users can now invoke - it themselve, and easily change the geometry of the page. - -version 0.3 (10 April 2006) - - moderncv now uses the 'longtable' class, allowing cv sections to split - across multiple pages. - - the different lengths used by moderncv are now customizable! In particular, - the first column (the one containing the date in the examples), can now be set - to any width, for people needing a smaller or larger one. To do that, either - use - \sethintscolumnlength{}, - where is the desired length in a unit LaTeX understands, or - \sethintscolumntowidth{}, - where is a string of the desired length (usually, the longest string - that has to appear in the column). Thanks to A. Pöge for pointing out the need - of such a feature. - - added the command \emptysection{}, which makes it possible to start a - section without name. In combination with \closesection{}, this makes it - possible to drop out of the layout of moderncv, and come back to it later. - This should make the inclusion of arbitrary elements not covered by moderncv - code possible. - - corrected a spacing problem in the cventry command, as pointed out and - solved by B. Eßmann. - -version 0.2 (6 March 2006) - - rewrite of the code to have the styles (fonts, colours, headers and footers) - be defined in different files than the class. The styles are now defined in a - separate file per style, named moderncvstyle. It should now be - easy to write your own style, starting from moderncvstyleempty.sty. If you - feel you have created a nice style, just email it to me and I'll include it in - the next version. - - due to the previous point, styles are now loaded by the command - \moderncvstyle{style_name}. I couldn't figure out a way to preserve the old - "casual" and "classic" class options, so these are now broken! Use - \moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your - document. This should be the only incompatibility with version 0.1. - - added class option "nolmodern" for people without the latin modern fonts. - - corrected some English mistakes in the examples. Thanks to M. H. Prager for - pointing them out. - - added a \cvlistitem to produce items with a bullet (or whatever is defined - in \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for - consistency purpose. For compatibility reasons, the command \cvresume still - works, but should be avoided. - -version 0.1 (1 March 2006) - - first release. +version next +- Upgrade to Fontawesome 6 (#183) +- Document how to set custom strings for social command (#239) +- Correct documentation to reflect new order \moderncvcolor before \moderncvstyle (#256) + +version 2.5.1 (31 Jan 2026) +- Fix french babel breaking contemporary style (#219) +- Fix birthdate not showing up in contemporary style (#244) +- Fix Inspire HEP social link (#241) +- Change moderncvcolors.tex to a .sty file for MikTeX compatibility (#199) +- Fix error when omitting the photo in contemporary style (#201) +- Fix spacing between first and last name (#204) +- Include social icons in cover letter for styles classic, fancy and banking (#170) +- Update Oldstyle to use symbols instead of marvosym (#209) +- Added SimpleX and Threema social (#217) +- Fix spacing between first and last name again (#220) +- Make header details flush against sides for casual, classic, and contemporary + styles (#229) +- Fix tikz icon color in contemporary style (#224) +- Add contemporary CV header style to cover letter, which also makes icons + visible (#186) +- Fix minor horizontal spacing issue in 'contemporary' style header + + +version 2.4.2 (01 Feb 2025) +- Added support for additional social icons like medium. (#264) + +version 2.4.1 (18 Jul 2024) +- Fix commons/colors.tex not found in package (#194) + +version 2.4.0 (08 Jul 2024) +- Rewrote user guide, thanks to David Seus (#58, #106, #169). +- Fixed "Underfull \hbox (badness 10000)" warning in \makecvtitle (#162). +- Fixed unnecessary academicons warning when academicons aren't used (#161). +- Fixed page counts unnecessarily linking to the last page of the PDF (#159). +- Added support for an optional signature in the cover letter (#157). +- Added support for non-ASCII characters in links (#155). +- Added option to force a homepage link to use HTTP rather than HTTPS (#154). +- Passed unicode option directly to hyperref to avoid conflicts with the + inclusion of hyperref by other packages (#148). +- Fixed the sender block on the cover letter in banking style (#146). +- Added option to classic style to align header elements at the top (#144). +- Added Twitch, YouTube, TikTok, Instagram, SoundCloud, Steam, Xbox, PlayStation + and Battle.net social icons (#131). +- Removed extra dash in PDF metadata when CV title is empty (#116). +- Added support for an optional subject line in the cover letter (#114). +- Added Discord social icon (#112). +- Replace instances of ~~~ in codebase with \hspace to be more compatible with + babel for Spanish (#109). +- Added Codeberg and Mastodon social icons (#107). +- New \social options: arXiv, INSPIRE (#185) +- Systematize colors and make them user adjustable. See documentation for details. + This requires the \moderncvcolor to be issued BEFORE \moderncvstyle (#151). +- all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Oldstyle does not respond too well to nodetails (#150). +- casual style: make the head options 'alternate', 'details' and 'nodetails' available to the user. (previously they were hidden) (#150). +- Setting \listitemsymbolspace allows custom spacing between list symbol and text item (for \cvlistitem and \cvlistdoubleitem) (#74). +- Introducing \cvtripleitem command for items in three columns. Closing feature request #174. +- Fixed wrong cvlistitem vspace caused by multiline section titles in fancy style (#69). + +version 2.3.1 (21 Feb 2022) +- Fix duplicate GitLab icon (#105). +- Revert using detokenize in social links (#97). +- Fix broken compilation in classic style (#96). + +version 2.3.0 (16 Dec 2021) +- Remove font loading from class (#87). +- Add Matrix and Signal icon (#84). +- Improved symbol loading (#84). + +version: 2.2.0 (28 Jul 2021) +- Remove dot in \cventry when using moderncvbodyi. + +- Remove http baseurl in hyperref. +- Change font encoding to use fontspec with Latin Modern for LuaTeX and XeTeX, + else inputenc / fontenc / lmodern (https://tex.stackexchange.com/a/496643). +- Add birthdate field command. +- Add Social entries for WhatsApp, Signal and Matrix. +- Fix Researcher ID not showing (#29). +- Make options "symbols" and "nosymbols" available to all styles to toggle + whether symbols should be used or not. Include symbols in oldstyle by default. +- Migrate older newcommand syntax in moderncvcollection.sty to xparse syntax. +- Fix resumé typo in template. Is now résumé. +- Various other minor fixes. + +version 2.1.0 (21 Jan 2021) +- Maintainer change: now team maintained (https://github.com/moderncv), since + original repository has been basically dead since 2016. +- New \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID, + ResearcherID, ResearchGate, Telegram and Google Scholar. +- Hyperlinks in phone numbers. +- Switch from l3regex to expl3. +- New skill matrix feature. +- Move to fontawesome5 package. +- Default to https. + +version 2.0.0 (28 Jul 2015) +- Refactored the code into heads, body, foot and icon substyles. All styles + (classic, casual, banking and oldstyle) are just a combination of these and + some font selection. Mixing substyles (e.g., the banking header with the + classic body) is now trivial by using the \moderncvhead, \moderncvbody, + \moderncvfoot and \moderncvicons commands. Each of these take a substyle + number as argument. \moderncvcolor takes a color name as argument. +- Added a new style: fancy. +- Added an optional argument to \moderncvstyle to specify style options, i.e. + \moderncvstyle[options]{style}. Below is a list of the available options per + style: + * classic + > to specify where at the top one's name should appear: "left" (default) or + "right; + * casual + > to specify where at the top one's name should appear: "left" (default) or + "right; + * banking + > to specify how the section and subsection rules should be set: + "fullrules", "shortrules", "mixedrules" (default; full rules for sections, + short rules for subsections), "centered" (fullrules with centered title) + and "norules" (norules, small caps font); + > to specify how the body should be aligned: left" (default), "center" or + "right"; + * oldstyle & fancy + > n/a +- Added a new color variant: "burgundy". +- Corrected \addressstyle color to match the one effectively used (color2). +- Adjusted the bibliography spacing to handle entries with or without labels. +- Added a check on the emptiness of \title when setting the hyperref document + properties. + +version 1.5.1 (29 Apr 2013) +- Made sure that XeTeX or LuaTeX is in use before loading the awesome icon set + and if not, revert to the marvosym icon set. + +version 1.5.0 (23 Apr 2013) +- Added a command to showcase social accounts in one's personal information: + \social. The command currently handles LinkedIn, Twitter and Github accounts + automatically, and other links can be provided explicitly. +- Added a new icon set: "awesome" (using the icons from the Font Awesome font). +- Set the "awesome" icon set as the default for the casual and banking styles + (can be changed back with \moderncvicons{marvosym}). +- Forced all the icons of the "letters" icon set to be of the same width, for + alignment purposes. +- Added a letter icon ("W") for the homepage of the "letters" icon set. +- Forced some whitespace between the main text and the footer of the casual + style. +- Removed the rule below the headings of the cvcolumns environment. + +version 1.4.0 (28 Mar 2013) +- Deprecated \phone, \mobile and \fax in favour of \phone[], where + can be "fixed" (default), "mobile" or "fax". As part of the change, one can + now use each of these multiple times, e.g. to display multiple mobile phone + numbers. +- Deprecated \firstname and \familyname in favour of \name{}{}. +- Added a new mechanism to select among different possible icon sets: + \moderncvicons{}, where can be "marvosym" (used by + default in the banking, casual and classic styles) or "letters" (used by + default in the oldstyle style). \moderncvicons should always be called after + \moderncvstyle in order to override the styles' defaults. +- Added a command to control the font of the page numbering: \pagenumberfont, as + requested by fr1a1nky (launchpad question #224496). +- Removed the use of the suffix package. + +version 1.3.0 (09 Feb 2013) +- Added a new environment to create multiple columns: cvcolumns. Each column is + then created by \cvcolumn[width]{header}{content}, where the optional width is + given as a fraction of the total width (between 0 and 1). The header and + content are robust and can contain any paragraph command (e.g., a nested + itemize environment). +- Added a macro (\pdfpagemode) to control what is visible upon opening compiled + PDFs (assuming PDF reader support), as suggested by U. Stöhr. + Possible values include: "UseNone" (only the document), "UseThumbs" (show + thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in + fullscreen mode). +- Added a 3rd, fully optional (can be omitted or left blank) argument to + \address to specify a country, as requested on launchpad (launchpad bug + #1063995). +- Compacted list environments further. +- Replaced the use of the xargs package by the xparse one. + +version 1.2.1 (04 Dec 2012) +- Fixed a regression bug introduced in v1.2.0 in the header of the banking style + when no title is used, as reported on tex.stackexchange (question #85427). + +version 1.2.0 (31 Oct 2012) +- Updated the banking style header to include the option to show a title. +- Set the values of \arrayrulewidth and \doublerulesep to their standard values + (0.4pt and 2pt, respectively) to enable the drawing of rules in tabulars and + arrays by default. +- Modified the code of \makecvtitle and \makelettertitle of the casual style to + avoid it causing horizontal alignment issues before and after itself. +- Corrected a bug in \makelettertitle of most styles that displayed the current + date (\today) instead of the date given through the \date command, as reported + by B. Schlimmchen and S. Fnord. +- Removed the need to set pdfpagelabels=false when loading hyperref by putting + \pagenumbering{arabic} (to define \thepage) before loading hyperref, as + figured out by J. Wolf. +- Corrected the line wrapping of \cvlistitem of the banking style. +- Corrected a bug in \makecvtitle and \makelettertitle of the banking style. +- Removed an unwanted space in the footer of the casual style. +- Moved the font style definitions to moderncv.cls for better readability + (moderncv.cls is meant to be a sort of header file, implementing only some + macros shared by all styles and defining the macros that the style files need + to implement). + +version 1.1.3 (10 Aug 2012) +- Corrected a long-standing issue causing hyperref to issue two warnings about + its "pdfpagelabels" option, as pointed out and solved by P. Leifeld (launchpad + bug #1035466). + +version 1.1.2 (09 Aug 2012) +- Fixed a regression bug introduced in v1.0.0 in the footer of the casual style, + as discovered on tex.stackexchange (question #66316). + +version 1.1.1 (30 Jul 2012) +- Fixed a compatibility issue introduced in v1.0.0 when \maketitlenamewidth was + renamed to \makecvtitlenamewidth, as reported by Peppe on launchpad (launchpad + bug #1030802). The template now correctly uses \makecvtitlenamewidth, and + \maketitlenamewidth was created as an alias forbackward compatibility. + +version 1.1.0 (29 Jul 2012) +- Fixed the switching from letter to resume, correcting spacing errors when a + letter is typeset before the resume, as noticed by U. Gabor. +- Fixed the vertical alignment of the footers, as reported by T. Homa. Footers + are now aligned to the bottom and the letter and CV footers are perfectly + aligned in the casual style. +- Prepared moderncv for fontspec font loading (still commented out in code). +- Changed the handling of the "sans" and "roman" class options, to be reflected + at the beginning of the document and override style font choices. +- Turned unicode support in hyperref on by default. +- Tweaked the use of \textbullet to avoid a fallback to Computer Modern fonts + and prepared the use of symbols from the MarVoSym font for fontspec (LuaTeX or + XeTeX). +- Tweaked the \subsectionfill of the banking style to distribute extra space + evenly between leaders. +- Added two options to change the "Enclosure" string used for the letter + enclosure: either specify another string as an optional argument to \enclosure + or redefine \enclname, as suggested by D. Wille. + +version 1.0.0 (26 Mar 2012) +- Added commands to generate letters for every resume style: \recipient, \date, + \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The + old \maketitle and \makefooter commands are now deprecated and replaced by + \makecvtitle and \makecvfooter. +- Changed the alignment algorithm for the personal data display in the oldstyle + style, to align on the baseline of the first line with the surrounding text. + +version 0.19.0 (06 Feb 2012) +- Reintroduced the ability to force the width reserved to display the name in + the resume header for the classic style (\maketitlenamewidth). +- Improved the PDF metadata, as reported by S. Wunsch (launchpad bug #922476). +- Fixed a \footersymbol bug in the casual style when no mobile number was given, + as reported by S. Wunsch (launchpad bug #922470). +- Fixed a display bug when an address was given without postcode/city, as + reported by O. Shaneh (launchpad bug #670263). + +version 0.18.0 (05 Feb 2012) +- Corrected the handling of PDF bookmarks, as suggested on stackexchange by + U. Fischer. +- Improved the spacing between sections and subsections by using \addvspace + instead of \vspace. +- Corrected the spacing between entries with nested itemize environments + (temporary solution working only for single line items). +- Added a check in the oldstyle style for an empty 4th argument in the + \cvdoubleitem definition to avoid printing a colon without a preceding label. +- Added a new style on top of classic, casual and oldstyle: banking. + +version 0.17.0 (25 Jan 2012) +- Changed the footer algorithm of the casual style to avoid starting lines with + the footer symbol. +- Aligned the space before and after the title across styles. +- Added an optional title to the casual style. +- Changed the definition of the font styles to avoid undesired extra spacing. +- Added a Spanish template, kindly provided by I. Buitrón. +- Corrected the vertical misalignment between the page number and the center + footer in the casual style. + +version 0.16.0 (15 Jan 2012) +- Added starred versions of \section and \subsection that are identical to their + non-starred versions (e.g. to enable BibLaTeX support) as requested by + S. Verberkt (launchpad bug #913102). +- Corrected a misalignment of the colored rule in front of the section titles in + the classic and casual styles, as reported by P. Neidhardt (launchpad bug + #915910). + +version 0.15.1 (23 December 2011) +- Corrected a bug in the classic style causing the address font and color to not + be carried over newlines, as reported by J. Smith. + +version 0.15.0 (19 December 2011) +- Corrected list spacing. +- Corrected inconsistent use of sans serif fonts in roman layout option. +- The lmodern fonts are now automatically loaded only if they're installed on + the system. The "nolmodern" option is now therefore obsolete. +- Completed code refactoring separating themes in separate styles and colors. +- Renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer + to \cvdoubleitem (the old command names still work and redirect to the new + ones, but are deprecated). +- Removed the arbitrary minipage widths of skill proficiency vs comment in + \cvitemwithcomments. The skill proficiency is now typeset exactly as given + (i.e. one one line if no linebreaks are implicitly given) and the comment uses + the remaining horizontal space. +- Changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify + the vertical skip after the item (as for \cvitem, \cvitemwithcomments, etc). + The way to change the list symbol is to redefine \listitemsymbol. +- Added a new style on top of classic and casual: oldstyle. +- Loaded the microtype package to improve typography. + +version 0.14.0 (04 December 2011) +- Added support for CJK, thanks to the help of P. D'Apice. +- The use of \recomputelengths after modifying any length in the preamble is now + unnecessary; \recomputelength is automatically called at the start of the + document. + +version 0.13.1 (11 November 2011) +- Corrected a bug introduced by v0.13 in the classic style when no \photo is + used, as reported by S. Gislais (launchpad bug #888702). + +version 0.13.0 (06 November 2011) +- Added a "black" color option to render the resume in black & white, as + suggested by F. Bicarri. +- Removed the pdflatex option when loading hyperref to enable other engines + (e.g., dvips, XeTeX), leftover from the v0.11 cleanup, as reported by + K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834). +- Added a "purple" color option, as proposed by B. Ravel. +- Added a 3rd optional argument to the \photo command to control the thickness + of the framebox. Setting it to 0pt will disable the frame around the photo, as + requested by T. Krennwallner (launchpad bug #664568). + +version 0.12.0 (03 August 2010) +- Prevented pagebreaks after sections and subsections (launchpad bug #409902), + as originally reported by C. Gaspoz and fixed by launchpad user tentotwo. + +version 0.11.0 (20 July 2010) +- Removed the \ifpdf check when loading the graphicx package, as graphicx + already does this check internally. This was preventing proper functioning + with XeTeX and LuaTeX, as reported by A. Trautmann. The same check was also + removed everywhere else in the document (i.e. when loading the color and + hyperref packages). + +version 0.10.0 (13 June 2010) +- Fixed a compatibility issue with the natbib package (natbib uses \section* to + format the bibliography title, while only \section was defined by moderncv), + as reported on launchpad (launchpad bug #393920). +- Fixed compatibility issues with (any package relying on) the etoolbox package, + due to the double definition of \AtEndPreamble, as reported by D. Becker. + +version 0.9.0 (31 May 2010) +- Added support for the itemize, enumerate and description environments. + +version 0.8.0 (24 May 2010) +- Added support for multibib. Also modified the template to illustrate how to + show labels in the bibliography, as requested by Tom D. R. and Stefan K. +- Added a command to indicate your personal homepage (\homepage{url}), as + requested by J. de Jong and A. Pairet. +- Corrected an alignment bug for text following a \quote with no immediate + \section, as kindly reported by J. Vermeulen and L. Saliou. +- Corrected a spacing bug when no blank line (or \par) is left after \maketitle. + Thanks to A. Menzel for reporting the strange behaviour. +- Corrected the alignment of the \extrainfo title part when no picture was used, + as reported by M. Bana. +- Corrected the misplacement of PDF bookmarks as noticed by L. Fortunato. +- Corrected several bugs linked to the code for checking for empty arguments in + \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and + E. Gregorio. + +version 0.7.0 (17 June 2008) +- Corrected an outstanding spacing bug where the space between cvlines was + longer than 1 line. +- Removed the need to use \closesection and \emptysection as internal tabulars + are now always closed. This allows the use of bibliography packages such as + bibunits. Thanks to S. Busch for pointing out the incompatibility and helping + test out the bug correction. +- Changed the definition of \photo: the first (optional) argument should give + the desired width of the picture, instead of its height +- Corrected an alignment bug for \cvlistitems longer than 1 line, as reported by + S. Nikolopoulos. +- Deprecated the commands \sethintscolumnlength and \sethintscolumntowidth. + Instead, just set \hintscolumnwidth to the desired length by using the regular + \setlength or \settowidth commands, and call \recomputelengths. +- Added the ability to control the width of the name placeholder in the classic + theme, by setting the length \maketitlenamewidth. Again, don't forget to call + \recomputelengths afterward. + +version 0.6.0 (28 May 2007) +- Corrected some spacing bugs and cleaned up the code. +- Corrected a bug in the bibliography file of the examples spotted by U. Stöhr. +- Added color variants to the classic and casual styles, as suggested by + U. Stöhr. +- Added a page counter for resumes running longer than 1 page, as requested by + A. Martin. It can be disabled by the command \nopagenumbers{}. +- Added commands to include a mobile phone and fax number. +- Made the symbols used for the phone number, the email etc. customizable. To + modify those symbols, just redefine \phonesymbol, \emailsymbol etc. +- Corrected the PDF information given to hyperref as pointed out by C. Knuepfer. +- Rewrote the examples. + +version 0.5.0 (9 September 2006) +- Added a \photo command to display a picture. This command takes the name of + the file with the picture as a required argument and the desired height as an + optional argument. +- Implemented the needed commands to make moderncv compatible with BibTeX, as + suggested by J. Lie. This makes it possible to display one's publications, + stored in the BibTeX file "publications.bib" by using: + \nocite{*} + \bibliographystyle{plain} + \bibliography{publications} + As usual, the name of the section title can be changed by redefining \refname. +- Added the \today command, useful for example if one needs to add the date the + resume was produced with: + \closesection{} + \vfill{\hfill{\scriptsize Produced \today.}} + at the end of your CV, as suggested by F. Hammann. + +version 0.4.0 (2 May 2006) +- Removed the dependency on the geometry package so that users can now invoke it + themselves and easily change the geometry of the page. + +version 0.3.0 (10 April 2006) +- Moderncv now uses the longtable class, allowing CV sections to split across + multiple pages. +- The different lengths used by moderncv are now customizable! In particular, + the first column (the one containing the date in the examples) can now be set + to any width, for people needing a smaller or larger one. To do that, either + use + \sethintscolumnlength{}, + where is the desired length in a unit LaTeX understands, or + \sethintscolumntowidth{}, + where is a string of the desired length (usually, the longest string + that has to appear in the column). Thanks to A. Pöge for pointing out the need + of such a feature. +- Added the command \emptysection{}, which makes it possible to start an unnamed + section. In combination with \closesection{}, this makes it possible to drop + out of the layout of moderncv, and come back to it later. This should make the + inclusion of arbitrary elements not covered by moderncv code possible. +- Corrected a spacing problem in the \cventry command, as pointed out and solved + by B. Eßmann. + +version 0.2.0 (6 March 2006) +- Rewrite of the code to have the styles (fonts, colours, headers and footers) + be defined in different files than the class. The styles are now defined in a + separate file per style, named moderncvstyle. It should now be + easy to write your own style, starting from moderncvstyleempty.sty. If you + feel you have created a nice style, just email it to me and I'll include it in + the next version. +- Due to the previous point, styles are now loaded by the command + \moderncvstyle{style_name}. I couldn't figure out a way to preserve the old + "casual" and "classic" class options, so these are now broken! Use + \moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your + document. This should be the only incompatibility with v0.1. +- Added class option "nolmodern" for people without the Latin Modern fonts. +- Corrected some English mistakes in the examples. Thanks to M. H. Prager for + pointing them out. +- Added a \cvlistitem to produce items with a bullet (or whatever is defined in + \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for consistency + purposes. For compatibility reasons, the command \cvresume still works, but + should be avoided. + +version 0.1.0 (1 March 2006) +- First release. diff --git a/KNOWN_BUGS b/KNOWN_BUGS index 92a6f36..25ef872 100644 --- a/KNOWN_BUGS +++ b/KNOWN_BUGS @@ -1,5 +1,12 @@ -- When using CJK, the last \clearpage required for fancyhdr to work properly kills - the "lastpage" counter, hence also the page numbering. -- Moderncv produces an error ("lonely \item--perhaps a missing list environment") - when used with bibentry, through the output is actually correct. Amongst other, - this causes compilation by LyX to stop. +- moderncv is incompatible with biber. +- moderncv is incompatible with BibLaTeX. +- moderncv is incompatible with babel in Spanish. + +- Skill matrices don't break automatically in fancy style. +- Long names break the oldstyle style and possibly other styles (needs testing). +- Long URLs in classic style can make the name break line. Fixed width for the address part must be implemented. +- When using the fancy style, undesired space is added between the bibliography head and the first entry, as well as after the last entry. +- Footnotes generate errors, but the output seems correct when running with "-interaction=nonstopmode" +- When using CJK, the last \clearpage required for the fancyhdr package to work properly kills the "lastpage" counter, and therefore also the page numbering. +- moderncv produces an error "lonely \item--perhaps a missing list environment" when used with the bibentry package, though the output is actually correct. Among other things, this causes compilation by LyX to stop. +- The space after a \cventry gets eaten up when the last argument contains a nested itemize environment. An ugly hack and incomplete solution was implemented by including a \strut in every item label, but this doesn't solve the problem for multi-line items. Ideally, the \strut should end the item, but there seems to be no way to do this. diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..f8b699e --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,415 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `as is', without +warranty of any kind, either expressed or implied, including, but not +limited to, the implied warranties of merchantability and fitness for a +particular purpose. The entire risk as to the quality and performance +of the Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2005 M. Y. Name + % + % 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 this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. diff --git a/README b/README deleted file mode 100644 index 98bd842..0000000 --- a/README +++ /dev/null @@ -1,27 +0,0 @@ -moderncv -- a modern curriculum vitae class - -Moderncv provides a documentclass for typesetting modern curriculum vitaes in -various styles. It is fairly customizable, allowing you to define your own style -by changing the colors, the fonts, ... and provides two default styles: classic -and casual. - -The moderncv documentclass need it's input to be formatted with regular -commands like: - \section, - \subsection, - \maketitle, -but also defines its own special commands: - \cventry, - \firstname, - \familyname, - ... -Most commands are defined in such a way that the arguments are optional. - -Documents can be compiled into dvi, ps or pdf. - -Until a decent manual is written, you can always look in the "examples" -directory for some examples. - - -Author: Xavier Danaux -Date: 28 May 2007 diff --git a/README.md b/README.md new file mode 100644 index 0000000..19ff062 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# moderncv + +[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml) +[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv) +[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org) + +## A modern curriculum vitae class for LaTeX + +The `moderncv` package provides a document class for typesetting applications (curricula vitae and cover letters) in various styles. `moderncv` aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing you to define your own by modifying colors, fonts, icons, etc. + +## Getting started + +### Installation +`moderncv` should already be included in your installed LaTeX distribution. +If not, you can get the tarball of the package from [CTAN](https://www.ctan.org/pkg/moderncv). +Alternatively, you can also build the package from source by cloning the its [GitHub repository](https://github.com/moderncv/moderncv) and compiling the included LaTeX files: +``` +latexmk -pdf ./template.tex manual/moderncv_userguide.tex +``` + +### Usage +To get started on your own CV, use and modify the template file `template.tex`. +The user guide can be found in the folder `manual` and contains additional information on what the document class offers. +Take a look at it to see if this package suits your needs. + +If you are using the [`academicons`](https://ctan.org/tex-archive/fonts/academicons) package in the template, you will need to use a Xe(La)TeX or Lua(La)TeX engine to render the icons. Otherwise, an alternative icon package will be used automatically. + +## Development + +As the main goal is to keep this package alive, it is maintained in a loosely structured team. +You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute. +Development takes place at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv). + +## Licence + +`moderncv` is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html). + +## Origin + +Original author: Xavier Danaux +
+Original repository: https://github.com/xdanaux/moderncv + +This repository is a fork aiming to maintain `moderncv` inside CTAN, since upstream has been dead since 2016. diff --git a/create-release-tarball.sh b/create-release-tarball.sh new file mode 100755 index 0000000..1550249 --- /dev/null +++ b/create-release-tarball.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# script to create a tarball for the files that should be in the CTAN upload +# +# do not forget to replace comments/headers beforehand +# 1. date and version in moderncv_userguide.tex +# 2. find . -type f -exec sed -i 's/$OLD_DATE $OLD_VERSION/$NEW_DATE $NEW_VERSION/g' {} \; +# 3. find . -type f -exec sed -i 's|-$OLD_YEAR moderncv maintainers (github.com/moderncv)|-$NEW_YEAR moderncv maintainers (github.com/moderncv)|g' {} \; + +# fetch version via git +VERSION=$(git describe --tags --dirty) +TARBALL=moderncv-$VERSION.tar + +# remove existing tarballs +rm -f $TARBALL $TARBALL.gz + +# create tar with all files in git repo +git archive --prefix=moderncv/ HEAD > $TARBALL + +# remove git specific files +tar -f $TARBALL --delete moderncv/.github/ moderncv/.gitignore moderncv/create-release-tarball.sh moderncv/.codespellrc + +# compress +gzip $TARBALL diff --git a/examples/letter.pdf b/examples/letter.pdf deleted file mode 100644 index b21aed7..0000000 Binary files a/examples/letter.pdf and /dev/null differ diff --git a/examples/letter.tex b/examples/letter.tex deleted file mode 100644 index 92c9926..0000000 --- a/examples/letter.tex +++ /dev/null @@ -1,103 +0,0 @@ -%% start of file `letter.tex'. -%% Copyright 2006-2010 Xavier Danaux (xdanaux@gmail.com). -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License version 1.3c, -% available at http://www.latex-project.org/lppl/. - - -\documentclass[11pt]{article} - - -\usepackage[utf8x]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{lmodern} -\usepackage{marvosym} -\usepackage{ifpdf} -\ifpdf - \usepackage[pdftex]{graphicx} -\else - \usepackage[dvips]{graphicx}\fi - -\pagestyle{empty} - -\usepackage[scale=0.8]{geometry} -\setlength{\parindent}{0pt} -\addtolength{\parskip}{6pt} - -\def\firstname{John} -\def\familyname{Doe} -\def\FileAuthor{\firstname \familyname} -\def\FileTitle{\firstname \familyname's cover letter} -\def\FileSubject{Cover letter} -\def\FileKeyWords{\firstname \familyname, Cover letter} - -\usepackage{url} -\renewcommand{\ttdefault}{pcr} -\urlstyle{tt} -\ifpdf - \usepackage[pdftex,pdfborder=0,breaklinks,baseurl=http://,pdfpagemode=None,pdfstartview=XYZ,pdfstartpage=1]{hyperref} - \hypersetup{ - pdfauthor = \FileAuthor,% - pdftitle = \FileTitle,% - pdfsubject = \FileSubject,% - pdfkeywords = \FileKeyWords,% - pdfcreator = \LaTeX,% - pdfproducer = \LaTeX} -\else - \usepackage[dvips]{hyperref} -\fi - -\renewcommand{\familydefault}{\sfdefault}% for use with a résumé using sans serif fonts; -%\renewcommand{\familydefault}{\rmdefault}% for use with a résumé using sans serif fonts; - -\begin{document} -\hfill% -\begin{minipage}[t]{.6\textwidth} -\raggedleft% -{\bfseries John Doe}\\[.35ex] -\small\itshape% -street and number\\ -postcode city\\[.35ex] -\Telefon~phone number\\ -\Letter~\href{mailto:jdoe@gmail.com}{jdoe@gmail.com} -\end{minipage}\\[1em] -% -\begin{minipage}[t]{.4\textwidth} -\raggedright% -{\bfseries Company XYZ}\\[.35ex] -\small\itshape% -street and number\\ -postcode city -\end{minipage} -\hfill % US style -%\\[1em] % UK style -\begin{minipage}[t]{.4\textwidth} -\raggedleft % US style -\today -%April 6, 2006 % US informal style -%05/04/2006 % UK formal style -\end{minipage}\\[2em] -\raggedright -Dear Sir or Madam:\\[1.5em] -% -Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed nec sem sit amet lacus aliquam blandit. Nunc tristique mollis eros. Praesent elit. Maecenas turpis. Vestibulum consectetuer velit sit amet ipsum. Aliquam pede nunc, dictum ac, dictum nec, bibendum ut, ante. Phasellus justo urna, convallis vitae, scelerisque a, egestas vitae, diam. Cras eu enim a eros tristique varius. - -Pellentesque pellentesque magna a arcu. Phasellus enim purus, pellentesque sed, interdum hendrerit, interdum elementum, sapien. Nunc lobortis neque sed elit congue tempus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam lacus mi, volutpat bibendum, ullamcorper in, imperdiet vel, purus. Aliquam egestas sollicitudin mauris. Maecenas quis massa euismod tortor interdum consectetuer. Mauris rutrum leo adipiscing erat. - -Vivamus ullamcorper pellentesque arcu. Sed laoreet. Aenean porttitor, purus vel porta pretium, ante metus ultrices neque, id volutpat felis tellus vitae nunc. Vivamus tellus neque, tincidunt non, cursus non, porttitor vel, erat. Cras dictum, nisi vitae condimentum tempor, erat nisl pharetra diam, vitae scelerisque odio purus scelerisque massa. Curabitur malesuada purus volutpat dui. Fusce vitae sem. Fusce tempor felis vitae pede. - -Nurabitur id mi. Morbi tempor porta neque. Curabitur nunc dui, posuere sed, ornare eget, pellentesque eu, nisl. Suspendisse eget nulla in nisl consequat vulputate. Quisque id neque. Curabitur consectetuer, risus viverra suscipit rutrum, tortor mauris consequat lectus, quis gravida dolor arcu a velit. Sed elementum sagittis pede. Fusce erat. Aliquam quis justo. Praesent justo. Fusce turpis justo, fermentum et, placerat quis, vestibulum sed, sem. Morbi iaculis. Nunc in massa. - -Nulla mi. Suspendisse potenti. Quisque sapien nisl, congue id, egestas a, lacinia ut, pede. Etiam vehicula nisi eu dolor. Aliquam nulla elit, dignissim nec, suscipit ut, cursus sit amet, dui. Sed vel lorem ut lacus sagittis egestas. Quisque justo nisl, convallis non, ultrices et, tempor at, pede. Phasellus orci. Morbi non velit blandit pede adipiscing mollis. Cras malesuada. Mauris tincidunt massa ut risus. Maecenas sit amet mi nec elit ultrices tincidunt. Nullam hendrerit congue ipsum. Fusce felis. - -%Yours sincerely,\\[2em] % if the opening is "Dear Mr(s) Doe," -Yours faithfully,\\[2em] % if the opening is "Dear Sir or Madam," -% -%\includegraphics[scale=0.75]{signature_blue}\\ -{\bfseries John Doe}\\ -% -\vfill% -{\slshape Enclosure} -%{\slshape Attachment: curriculum vit\ae{}} -\end{document} diff --git a/examples/picture.eps b/examples/picture.eps deleted file mode 100644 index 67696dd..0000000 --- a/examples/picture.eps +++ /dev/null @@ -1,1047 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: (ImageMagick) -%%Title: (jdoe_picture.eps) -%%CreationDate: (Sat Sep 9 12:44:46 2006) -%%BoundingBox: 0 0 96 96 -%%HiResBoundingBox: 0 0 96 96 -%%DocumentData: Clean7Bit -%%LanguageLevel: 1 -%%Pages: 1 -%%EndComments - -%%BeginDefaults -%%EndDefaults - -%%BeginProlog -% -% Display a color image. The image is displayed in color on -% Postscript viewers or printers that support color, otherwise -% it is displayed as grayscale. -% -/DirectClassPacket -{ - % - % Get a DirectClass packet. - % - % Parameters: - % red. - % green. - % blue. - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/DirectClassImage -{ - % - % Display a DirectClass image. - % - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { DirectClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayDirectClassPacket } image - } ifelse -} bind def - -/GrayDirectClassPacket -{ - % - % Get a DirectClass packet; convert to grayscale. - % - % Parameters: - % red - % green - % blue - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/GrayPseudoClassPacket -{ - % - % Get a PseudoClass packet; convert to grayscale. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassPacket -{ - % - % Get a PseudoClass packet. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassImage -{ - % - % Display a PseudoClass image. - % - % Parameters: - % class: 0-PseudoClass or 1-Grayscale. - % - currentfile buffer readline pop - token pop /class exch def pop - class 0 gt - { - currentfile buffer readline pop - token pop /depth exch def pop - /grays columns 8 add depth sub depth mul 8 idiv string def - columns rows depth - [ - columns 0 0 - rows neg 0 rows - ] - { currentfile grays readhexstring pop } image - } - { - % - % Parameters: - % colors: number of colors in the colormap. - % colormap: red, green, blue color packets. - % - currentfile buffer readline pop - token pop /colors exch def pop - /colors colors 3 mul def - /colormap colors string def - currentfile colormap readhexstring pop pop - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { PseudoClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayPseudoClassPacket } image - } ifelse - } ifelse -} bind def - -/DisplayImage -{ - % - % Display a DirectClass or PseudoClass image. - % - % Parameters: - % x & y translation. - % x & y scale. - % label pointsize. - % image label. - % image columns & rows. - % class: 0-DirectClass or 1-PseudoClass. - % compression: 0-none or 1-RunlengthEncoded. - % hex color packets. - % - gsave - /buffer 512 string def - /byte 1 string def - /color_packet 3 string def - /pixels 768 string def - - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - x y translate - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - currentfile buffer readline pop - token pop /pointsize exch def pop - /Times-Roman findfont pointsize scalefont setfont - x y scale - currentfile buffer readline pop - token pop /columns exch def - token pop /rows exch def pop - currentfile buffer readline pop - token pop /class exch def pop - currentfile buffer readline pop - token pop /compression exch def pop - class 0 gt { PseudoClassImage } { DirectClassImage } ifelse - grestore -} bind def -%%EndProlog -%%Page: 1 1 -%%PageBoundingBox: 0 0 96 96 -userdict begin -DisplayImage -0 0 -96 96 -12.000000 -96 96 -0 -0 -BDC1C2D1D5D6CDD1D4C7CBCECCCFD4CCCFD4CBCED3C9CCD1CACFD3CACFD3CACFD3C9CED2 -C9CED2C8CDD1C8CDD1C7CCD0CDD0D9CDD0D9CDD0D9CCCFD8CCCFD8CBCED7CBCED7CBCED7 -CBD0D3CBD0D3CACFD2CACFD2C9CED1C8CDD0C8CDD0C7CCCFCBD0D6CBD0D6CACFD5C9CED4 -C8CDD3C8CDD3C7CCD2C7CCD2C9D0D8C9D0D8C9D0D8C8CFD7C7CED6C6CDD5C6CDD5C5CCD4 -C7CFDAC6CED9C6CED9C5CDD8C4CCD7C4CCD7C3CBD6C3CBD6C5CBD7C5CBD7C4CAD6C4CAD6 -C3C9D5C2C8D4C2C8D4C1C7D3C8CCD5C8CCD5C7CBD4C6CAD3C5C9D2C5C9D2C4C8D1C4C8D1 -C9CED4C9CED4C8CDD3C7CCD2C7CCD2C6CBD1C5CAD0C5CAD0C7D0D5C6CFD4C6CFD4C5CED3 -C4CDD2C3CCD1C3CCD1C2CBD0C6CAD6C5CCD4C3CED2BDCAD3C2CBDCC1C7D5C2C6C5D6DACB -D2D6D7E9EDEEE8ECEFE4E8EBE9ECF1E8EBF0E7EAEFE5E8EFE5EAEEE5EAEEE4E9EDE4E9ED -E3E8ECE3E8ECE2E7EBE2E7EBE0E3ECDFE2EBDFE2EBDFE2EBDEE1EADDE0E9DDE0E9DDE0E9 -DCE1E7DBE0E6DBE0E6DADFE5D9DEE4D8DDE3D8DDE3D7DCE2D4D8E3D4D8E3D3D7E2D3D7E2 -D2D6E1D1D5E0D0D4DFD0D4DFCBD1DDCBD1DDCAD0DCCAD0DCC9CFDBC8CEDAC8CEDAC7CDD9 -C7CFDCC6CEDBC6CEDBC5CDDAC4CCD9C3CBD8C3CBD8C3CBD8C2CAD7C2CAD7C1C9D6C1C9D6 -C0C8D5BFC7D4BEC6D3BEC6D3BBC2D5BBC2D5BAC1D4BAC1D4B9C0D3B8BFD2B8BFD2B7BED1 -B4BAD0B4BAD0B3B9CFB3B9CFB2B8CEB1B7CDB1B7CDB0B6CCABB6CAAAB5C9AAB5C9A9B4C8 -A8B3C7A7B2C6A7B2C6A6B1C5A9AECBA9B1C6A6B1C3A1ADC5A4AFCFA5ACC9A8AEBCC0C4C3 -D0D4D7E9EDF0EDF1F4EBEEF3EEF1F6ECEFF6EBEEF5EAEDF4E8EDF3E8EDF3E8EDF3E7ECF2 -E7ECF2E6EBF1E6EBF1E6EBF1E1E5EEE1E5EEE1E5EEE0E4EDE0E4EDDFE3ECDFE3ECDEE2EB -DAE0ECDAE0ECD9DFEBD8DEEAD7DDE9D7DDE9D6DCE8D6DCE8D4DAE8D4DAE8D3D9E7D3D9E7 -D2D8E6D1D7E5D0D6E4D0D6E4CDD4E4CCD3E3CCD3E3CBD2E2CAD1E1C9D0E0C9D0E0C8CFDF -C6CDE0C6CDE0C6CDE0C5CCDFC4CBDEC3CADDC3CADDC2C9DCBDC8DABCC7D9BCC7D9BBC6D8 -BAC5D7B9C4D6B9C4D6B9C4D6B6BFDEB6BFDEB5BEDDB4BDDCB3BCDBB3BCDBB2BBDAB2BBDA -B0B8DDAFB7DCAFB7DCAEB6DBADB5DAACB4D9ACB4D9ABB3D8A6B3D6A6B3D6A5B2D5A4B1D4 -A3B0D3A3B0D3A2AFD2A2AFD2A2A9D5A2ACD09FAECF99A8CF9CA9D69EA7D2A5ACC9C0C8D5 -CACED1E6EAEDEBEEF3E8EBF0EBEEF3E8EBF2E8EBF2E8EBF2E5EAF0E5EAF0E4E9EFE4E9EF -E3E8EEE3E8EEE2E7EDE2E7EDE1E5F0E1E5F0E0E4EFE0E4EFDFE3EEDFE3EEDFE3EEDEE2ED -D9DFEFD9DFEFD8DEEED7DDEDD6DCECD6DCECD5DBEBD5DBEBD2D7EAD2D7EAD1D6E9D1D6E9 -D0D5E8CFD4E7CED3E6CED3E6CDD4E7CDD4E7CCD3E6CBD2E5CBD2E5CAD1E4C9D0E3C9D0E3 -C5CDE4C5CDE4C4CCE3C4CCE3C3CBE2C2CAE1C1C9E0C1C9E0B9C8DFB8C7DEB8C7DEB7C6DD -B6C5DCB5C4DBB5C4DBB4C3DAB4C1E1B4C1E1B4C1E1B3C0E0B2BFDFB1BEDEB1BEDEB0BDDD -ADB9E1ADB9E1ACB8E0ACB8E0ABB7DFAAB6DEA9B5DDA9B5DDA7B6DDA7B6DDA6B5DCA6B5DC -A5B4DBA4B3DAA3B2D9A3B2D9A1ACDAA0AFD69FB1D599ACD69BABDE9BA9D6A5B0D0C2CEDE -CED1D6E9ECF1EDF0F5EAEDF4EBEEF5E8EBF2E9ECF5EAEDF6E7EBF4E6EAF3E6EAF3E6EAF3 -E5E9F2E4E8F1E4E8F1E4E8F1DFE6F0DFE6F0DFE6F0DEE5EFDEE5EFDDE4EEDDE4EEDCE3ED -D9E0F2D8DFF1D8DFF1D7DEF0D6DDEFD5DCEED5DCEED5DCEED3DAEDD3DAEDD2D9ECD1D8EB -D0D7EAD0D7EACFD6E9CFD6E9CCD2E8CCD2E8CBD1E7CBD1E7CAD0E6C9CFE5C8CEE4C8CEE4 -C5CCE6C5CCE6C4CBE5C3CAE4C2C9E3C2C9E3C1C8E2C1C8E2B9C7E1B9C7E1B8C6E0B7C5DF -B6C4DEB6C4DEB5C3DDB5C3DDB1C1DAB1C1DAB0C0D9B0C0D9AFBFD8AEBED7ADBDD6ADBDD6 -ACBBDAACBBDAABBAD9AAB9D8A9B8D7A9B8D7A8B7D6A8B7D6A2B5D5A2B5D5A1B4D4A0B3D3 -A0B3D39FB2D29EB1D19EB1D19DABD09DADCE9BB0CD96ADCF98ABD594A6CC9EADC4BDCBD4 -CDD0D5E7EAEFEAEDF2E6E9F0E7EAF1E4E7F0E6E9F2E6E9F2E4E8F1E3E7F0E3E7F0E3E7F0 -E2E6EFE1E5EEE1E5EEE1E5EEDCE2EEDCE2EEDCE2EEDBE1EDDBE1EDDAE0ECDAE0ECDAE0EC -D7DEEED6DDEDD6DDEDD5DCECD4DBEBD3DAEAD3DAEAD2D9E9D2D9ECD2D9ECD1D8EBD1D8EB -D0D7EACFD6E9CED5E8CED5E8CAD2E7CAD2E7C9D1E6C9D1E6C8D0E5C7CFE4C6CEE3C6CEE3 -C3CDE6C2CCE5C2CCE5C1CBE4C0CAE3BFC9E2BFC9E2BFC9E2B9C7E1B9C7E1B8C6E0B8C6E0 -B7C5DFB6C4DEB6C4DEB5C3DDB1C2D6B1C2D6B0C1D5B0C1D5AFC0D4AEBFD3AEBFD3ADBED2 -AEBED7ADBDD6ADBDD6ACBCD5ABBBD4AABAD3AABAD3AABAD3A4B8D3A3B7D2A3B7D2A2B6D1 -A1B5D0A0B4CFA0B4CF9FB3CEA0AFCE9FB0CA9DB3CA9BB0CD9BAFD298A8C99EAEBEBDCCCF -CDD0D5E7EAF1EAEDF4E6E9F0E8EBF4E6E9F2E7E9F5E6E8F4E4E8F1E4E8F1E4E8F1E3E7F0 -E3E7F0E2E6EFE2E6EFE1E5EEDDE5F0DDE5F0DDE5F0DCE4EFDCE4EFDBE3EEDBE3EEDAE2ED -D8E0EDD8E0EDD7DFECD7DFECD6DEEBD5DDEAD4DCE9D4DCE9D0D7E9D0D7E9CFD6E8CED5E7 -CED5E7CDD4E6CCD3E5CCD3E5CAD2E5CAD2E5C9D1E4C9D1E4C8D0E3C7CFE2C6CEE1C6CEE1 -C2CDE3C2CDE3C2CDE3C1CCE2C0CBE1BFCAE0BFCAE0BEC9DFBCC6DFBCC6DFBBC5DEBAC4DD -BAC4DDB9C3DCB8C2DBB8C2DBB4C2DCB4C2DCB3C1DBB3C1DBB2C0DAB1BFD9B0BED8B0BED8 -ACBAD5ABB9D4ABB9D4AAB8D3A9B7D2A8B6D1A8B6D1A7B5D0A5B6D4A4B5D3A4B5D3A3B4D2 -A2B3D1A1B2D0A1B2D0A1B2D0A1AED09EADCA9CB0C99BAECE9BADD398A6C99FACBFBECBD1 -CBCED5E5E8EFE9ECF3E7EAF1EAEDF6E7EAF3E7E9F5E6E8F4E4E8F3E4E8F3E4E8F3E3E7F2 -E3E7F2E2E6F1E2E6F1E1E5F0DBE3EEDBE3EEDAE2EDDAE2EDD9E1ECD9E1ECD8E0EBD8E0EB -D4DEE8D4DEE8D3DDE7D3DDE7D2DCE6D1DBE5D1DBE5D0DAE4D1DAE9D0D9E8D0D9E8CFD8E7 -CED7E6CED7E6CDD6E5CDD6E5CBD4E5CAD3E4CAD3E4C9D2E3C8D1E2C7D0E1C7D0E1C6CFE0 -C2CDE1C2CDE1C1CCE0C1CCE0C0CBDFBFCADEBFCADEBEC9DDBDC4DEBDC4DEBDC4DEBCC3DD -BBC2DCBAC1DBBAC1DBB9C0DAB4BEE1B4BEE1B3BDE0B3BDE0B2BCDFB1BBDEB0BADDB0BADD -AFB9DCAFB9DCAEB8DBADB7DAADB7DAACB6D9ABB5D8ABB5D8A6B4D9A6B4D9A5B3D8A4B2D7 -A3B1D6A3B1D6A2B0D5A2B0D5A4ADD69FACCE9DAECC9CACD09EACD99AA6D0A2ACC7C3CDD7 -CCD1D7E5EAF0E7EBF4E4E8F1E7EBF4E4E8F3E5E9F4E4E8F3E3E7F3E3E7F3E3E7F3E2E6F2 -E2E6F2E1E5F1E1E5F1E0E4F0DCE2F0DCE2F0DBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFED -D7DDEDD7DDEDD7DDEDD6DCECD5DBEBD4DAEAD4DAEAD3D9E9D4DBEED1D8EBCED5E8CED5E8 -D0D7EAD0D7EACDD4E7C9D0E3CDD5ECC9D1E8C5CDE4C6CEE5CAD2E9CBD3EAC8D0E7C5CDE4 -C1CCE2C1CCE2BFCAE0BEC9DFBDC8DEBDC8DEBCC7DDBCC7DDBBC7E1BAC6E0BAC6E0B9C5DF -B8C4DEB7C3DDB7C3DDB6C2DCB3C1DEB2C0DDB2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9 -ABBAD9AAB9D8AAB9D8A9B8D7A8B7D6A8B7D6A7B6D5A7B6D5A5B4D5A4B3D4A4B3D4A3B2D3 -A2B1D2A2B1D2A1B0D1A1B0D1A0AFCE9DACD39BADD19AADCB9CACD099A4D2A2ABCCC4CDD2 -CBD0D6E5EAF0E7EBF4E3E7F0E6EAF3E4E8F3E4E8F3E4E8F3E3E7F3E3E7F3E2E6F2E2E6F2 -E1E5F1E1E5F1E0E4F0E0E4F0DCE2F0DCE2F0DBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFED -D7DDEDD7DDEDD6DCECD6DCECD5DBEBD4DAEAD3D9E9D3D9E9D0D7EAD0D7EAD0D7EAD0D7EA -D0D7EAD0D7EAD0D7EAD0D7EAC9D1E6C9D1E6C9D1E6C8D0E5C5CDE2C4CCE1C3CBE0C4CCE1 -C4CFE5C4CFE5C2CDE3C1CCE2BFCAE0BEC9DFBCC7DDBCC7DDBAC6E0BAC6E0BAC6E0B9C5DF -B8C4DEB7C3DDB7C3DDB6C2DCB2C0DDB2C0DDB2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9 -ABBAD9AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A7B6D5A7B6D5A5B4D5A4B3D4A4B3D4A3B2D3 -A2B1D2A1B0D1A1B0D1A1B0D1A0AFCE9DACD39BADD19AADCB9CACD099A4D2A2ABCCC4CDD2 -CBD0D6E4E9EFE6EAF3E3E7F0E6EAF3E3E7F2E4E8F3E3E7F2E2E6F2E2E6F2E2E6F2E1E5F1 -E1E5F1E0E4F0E0E4F0E0E4F0DBE1EFDBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFEDD9DFED -D7DDEDD7DDEDD6DCECD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9CFD6E9D0D7EAD0D7EACED5E8 -CBD2E5C9D0E3C9D0E3CAD1E4C5CDE2C8D0E5CBD3E8CCD4E9CAD2E7C8D0E5C6CEE3C5CDE2 -BDC8DEBDC8DEBDC8DEBDC8DEBDC8DEBDC8DEBDC8DEBEC9DFBAC6E0BAC6E0B9C5DFB9C5DF -B8C4DEB7C3DDB6C2DCB6C2DCB2C0DDB2C0DDB1BFDCB1BFDCB0BEDBAFBDDAAEBCD9AEBCD9 -AAB9D8AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A7B6D5A6B5D4A4B3D4A4B3D4A4B3D4A3B2D3 -A2B1D2A1B0D1A1B0D1A0AFD09FAECD9DACD39BADD199ACCA9CACD099A4D2A2ABCCC4CDD2 -CACFD5E3E8EEE5E9F2E2E6EFE5E9F2E3E7F2E3E7F2E2E6F1E2E6F2E1E5F1E1E5F1E0E4F0 -E0E4F0DFE3EFDFE3EFDFE3EFDBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEEC -D6DCECD6DCECD5DBEBD5DBEBD4DAEAD3D9E9D3D9E9D2D8E8CFD6E9CFD6E9CFD6E9CED5E8 -CDD4E7CCD3E6CCD3E6CCD3E6CBD3E8C6CEE3C1C9DEC0C8DDC2CADFC5CDE2C5CDE2C4CCE1 -C3CEE4C2CDE3C0CBE1BFCAE0BEC9DFBDC8DEBDC8DEBEC9DFBAC6E0BAC6E0B9C5DFB8C4DE -B7C3DDB7C3DDB6C2DCB6C2DCB2C0DDB2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9AEBCD9 -AAB9D8AAB9D8A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A4B3D4A4B3D4A3B2D3A3B2D3 -A2B1D2A1B0D1A0AFD0A0AFD09FAECD9CABD29BADD199ACCA9CACD099A4D2A1AACBC3CCD1 -C9CED4E2E7EDE4E8F1E1E5EEE4E8F1E2E6F1E2E6F1E1E5F0E1E5F1E1E5F1E0E4F0E0E4F0 -DFE3EFDFE3EFDEE2EEDEE2EEDAE0EEDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEECD8DEEC -D6DCECD5DBEBD5DBEBD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8D1D8EBCFD6E9CDD4E7CDD4E7 -CDD4E7CCD3E6CAD1E4C8CFE2CCD4E7CAD2E5C7CFE2C7CFE2C8D0E3C8D0E3C6CEE1C4CCDF -C3CEE4C1CCE2BFCAE0BDC8DEBCC7DDBCC7DDBDC8DEBEC9DFBAC6E0B9C5DFB9C5DFB8C4DE -B7C3DDB6C2DCB6C2DCB6C2DCB2C0DDB1BFDCB1BFDCB0BEDBAFBDDAAEBCD9AEBCD9AEBCD9 -AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A7B6D5A6B5D4A6B5D4A4B3D4A4B3D4A3B2D3A2B1D2 -A1B0D1A1B0D1A0AFD0A0AFD09FAECD9CABD29BADD199ACCA9CACD099A4D2A1AACBC3CCD1 -C8CDD3E2E7EDE4E8F1E0E4EDE3E7F0E1E5F0E1E5F0E1E5F0E0E4F0E0E4F0DFE3EFDFE3EF -DEE2EEDEE2EEDDE1EDDDE1EDDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEB -D5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D2D8E8D1D7E7D1D7E7D1D8EBCFD6E9CED5E8CDD4E7 -CDD4E7CCD3E6CAD1E4C9D0E3C6CEE1C8D0E3C9D1E4C6CEE1C1C9DCBFC7DAC1C9DCC4CCDF -C1CCE2C1CCE2C0CBE1BFCAE0BEC9DFBDC8DEBDC8DEBDC8DEB9C5DFB9C5DFB9C5DFB8C4DE -B7C3DDB6C2DCB6C2DCB5C1DBB1BFDCB1BFDCB1BFDCB0BEDBAFBDDAAEBCD9AEBCD9ADBBD8 -AAB9D8A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A6B5D4A4B3D4A3B2D3A3B2D3A2B1D2 -A1B0D1A0AFD0A0AFD0A0AFD09FAECD9CABD29AACD099ACCA9BABCF98A3D1A1AACBC3CCD1 -C8CDD3E1E6ECE3E7F0E0E4EDE3E7F0E1E5F0E1E5F0E0E4EFDFE3EFDFE3EFDFE3EFDEE2EE -DEE2EEDDE1EDDDE1EDDDE1EDD9DFEDD9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEBD7DDEB -D5DBEBD5DBEBD4DAEAD3D9E9D2D8E8D2D8E8D1D7E7D1D7E7CCD3E6CFD6E9D0D7EACED5E8 -C8CFE2C5CCDFC7CEE1CAD1E4CCD5E6C3CCDDB2BBCC9EA7B88E97A88992A38E97A8949DAE -B8C3D9BAC5DBBDC8DEBFCAE0BFCAE0BEC9DFBBC6DCBAC5DBB9C5DFB9C5DFB8C4DEB8C4DE -B7C3DDB6C2DCB5C1DBB5C1DBB1BFDCB1BFDCB0BEDBB0BEDBAFBDDAAEBCD9ADBBD8ADBBD8 -A9B8D7A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3A3B2D3A3B2D3A3B2D3A2B1D2 -A1B0D1A0AFD0A0AFD09FAECF9EADCC9CABD29AACD098ABC99BABCF98A3D1A1AACBC3CCD1 -C7CCD2E1E6ECE3E7F0E0E4EDE2E6EFE0E4EFE0E4EFE0E4EFDFE3EFDFE3EFDEE2EEDEE2EE -DDE1EDDDE1EDDCE0ECDCE0ECD9DFEDD9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEBD6DCEA -D5DBEBD4DAEAD4DAEAD3D9E9D2D8E8D1D7E7D1D7E7D1D7E7CCD3E6D0D7EACFD6E9C2C9DC -B0B7CAA3AABDA2A9BCA6ADC098A1B2929BAC8992A3818A9B7D86977D86977F889980899A -8B96AC939EB49FAAC0ABB6CCB5C0D6BAC5DBBCC7DDBCC7DDB9C5DFB9C5DFB8C4DEB7C3DD -B7C3DDB6C2DCB5C1DBB5C1DBB1BFDCB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9ADBBD8ADBBD8 -A9B8D7A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3A3B2D3A3B2D3A2B1D2A2B1D2 -A1B0D1A0AFD0A0AFD09FAECF9EADCC9CABD29AACD098ABC99BABCF98A3D1A1AACBC3CCD1 -CDD0D9DFE2EBE0E4EDE0E4EFDEE5EFDBE1EDDDE5F0DBE3EEDCE2F0DCE2F0DBE1EFDBE1EF -DAE0EEDAE0EED9DFEDD9DFEDD7DDEDD7DDEDD7DDEDD6DCECD6DCECD5DBEBD5DBEBD5DBEB -D4DBEDCFD6E8D3DAECD5DCEECFD6E8CED5E7D1D8EACDD4E6D1D7E5BBC1CFA3A9B79298A6 -858B997C82907B818F8086948187978187978086968086968086968086967F85957F8595 -808799777E9072798B7B82949198AAAAB1C3BAC1D3C1C8DABCC7DDB8C2DBB9C5DDB4C0DA -B3BEDAB3C1DEB1BEDEB5C2E2B0BEDBAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7ACBAD7ABB9D6 -A9B8D7A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A3B1D4A3B1D4A2B0D3A2B0D3 -A1AFD2A0AED19FADD09FADD09DADCF99AAD598ABD397ACCB99ABD197A3D3A0ABC9C2CDCF -CDD0D9DFE2EBE0E4EDDFE3EEDDE4EEDBE1EDDCE4EFDAE2EDDCE2F0DBE1EFDBE1EFDBE1EF -DAE0EED9DFEDD9DFEDD9DFEDD7DDEDD7DDEDD7DDEDD6DCECD5DBEBD5DBEBD5DBEBD4DAEA -CFD6E8D6DDEFD3DAECCED5E7CFD6E8CFD6E8CED5E7D2D9EBB4BAC89CA2B0868C9A838997 -888E9C878D9B8187957D83918187978086968086968086968086967F85957F85957F8595 -7980927C83957E85977B82947980928087999198AA9EA5B7B4BFD5B7C2D8BDC7E0B7C3DD -B6C1DDB8C6E3B3C1DEB2BFDFAFBDDAAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7ACBAD7ABB9D6 -A9B8D7A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A3B1D4A3B1D4A2B0D3A2B0D3 -A1AFD2A0AED19FADD09FADD09CACCE99AAD598ABD397ACCB99ABD197A3D3A0ABC9C2CDCF -CCCFD8DEE1EADFE3ECDFE3EEDDE4EEDAE0ECDCE4EFDAE2EDDBE1EFDBE1EFDAE0EEDAE0EE -D9DFEDD9DFEDD9DFEDD8DEECD7DDEDD6DCECD6DCECD5DBEBD5DBEBD4DAEAD4DAEAD4DAEA -CED5E7D6DDEFD4DBEDCCD3E5CCD3E5D0D7E9CED5E7CAD1E38D93A18389977C82907F8593 -848A988389978288968389978086968086968086968086968086967F85957F85957F8595 -7C83957E85977E8597798092747B8D747B8D7A81938087998D95AA9AA5B9B3BED4B9C3DC -B5C1DBB2BDD9ACBAD7B3C1DEAFBDDAAFBDDAAEBCD9AEBCD9ADBBD8ACBAD7ABB9D6ABB9D6 -A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3A5B4D3A3B1D4A3B1D4A2B0D3A1AFD2 -A0AED1A0AED19FADD09FADD09CACCE99AAD598ABD397ACCB99ABD197A3D3A0ABC9C2CDCF -CCCFD8DDE0E9DFE3ECDEE2EDDCE3EDDAE0ECDBE3EED9E1ECDAE0EEDAE0EEDAE0EED9DFED -D9DFEDD8DEECD8DEECD8DEECD6DCECD6DCECD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9 -D3DAECCDD4E6D3DAECD2D9EBCAD1E3D1D8EACCD3E5AFB6C87F8593808694848A98858B99 -8187957C82907E8492858B998086968086968086968086967F85957F85957F85957F8595 -81889A7C83957980927980927D84967E85977B8294777E90737B8E7F879C9DA8BCB5C0D6 -BCC6DFB6C2DCAFBAD6B6C1DDAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7ACBAD7ABB9D6ABB9D6 -A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A5B4D3A3B1D4A2B0D3A2B0D3A1AFD2 -A0AED19FADD09FADD09FADD09CACCE98A9D498ABD396ABCA98AAD097A3D3A0ABC9C2CDCF -CBCED7DDE0E9DEE2EBDDE1ECDBE2ECD9DFEBDAE2EDD8E0EBD9DFEDD9DFEDD9DFEDD8DEEC -D8DEECD7DDEBD7DDEBD7DDEBD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8 -D5DCEECAD1E3CED5E7D3DAECCED5E7CDD4E6B8BFD19299AB878D9B848A98838997858B99 -858B998187957E84927E84928086968086968086967F85957F85957F85957F85957E8494 -7C83957B82947B82947A81937A8193798092787F91777E90778091727A8D80889B949FB3 -AFBAD0BEC8E1B4C0DAADB9D3AFBDDAAEBCD9AEBCD9ADBBD8ACBAD7ABB9D6ABB9D6ABB9D6 -A8B7D6A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A2B0D3A2B0D3A2B0D3A1AFD2 -A0AED19FADD09FADD09EACCF9CACCE98A9D498ABD396ABCA98AAD096A2D29FAAC8C1CCCE -CACDD6DCDFE8DDE1EADCE0EBDBE2ECD8DEEAD9E1ECD7DFEAD9DFEDD8DEECD8DEECD8DEEC -D7DDEBD7DDEBD6DCEAD6DCEAD4DAEAD4DAEAD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8D1D7E7 -D0D7E9D1D8EACBD2E4CCD3E5D2D9EBBCC3D5989FB1838A9C878D9B838997818795828896 -848A98848A988187957E84928086967F85957F85957F85957F85957E84947E84947E8494 -7A81937A81937A8193798092787F91787F91777E90777E90798090747B8D727B8C747C8F -8C97ABAFBAD0B6C0D9B2BED6AEBCD9AEBCD9AEBCD9ADBBD8ACBAD7ABB9D6ABB9D6AAB8D5 -A8B7D6A8B7D6A7B6D5A7B6D5A6B5D4A5B4D3A4B3D2A4B3D2A2B0D3A2B0D3A1AFD2A1AFD2 -A0AED19FADD09EACCF9EACCF9BABCD98A9D497AAD296ABCA98AAD096A2D29FAAC8C1CCCE -C9CCD5DBDEE7DCE0E9DCE0EBDAE1EBD8DEEAD9E1ECD7DFEAD8DEECD8DEECD8DEECD7DDEB -D6DCEAD6DCEAD6DCEAD5DBE9D4DAEAD3D9E9D3D9E9D3D9E9D2D8E8D1D7E7D1D7E7D1D7E7 -CDD4E6D3DAECCDD4E6CAD1E3C6CDDFA2A9BB81889A82899B818795828896838997828896 -8086948086948187958288967F85957F85957F85957F85957F85957E84947E84947E8494 -7B8294798092787F917980927B82947D84967B8294798092787F8F7980907B8294727A8D -788095919CB0A8B3C9BAC5DBAEBCD9AEBCD9ADBBD8ADBBD8ACBAD7ABB9D6AAB8D5AAB8D5 -A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A4B3D2A2B0D3A2B0D3A1AFD2A0AED1 -9FADD09FADD09EACCF9EACCF9BABCD98A9D497AAD296ABCA98AAD096A2D29FAAC8C1CCCE -C9CCD5DBDEE7DCE0E9DBDFEADAE1EBD7DDE9D9E1ECD7DFEAD8DEECD8DEECD7DDEBD7DDEB -D6DCEAD6DCEAD5DBE9D5DBE9D3D9E9D3D9E9D3D9E9D2D8E8D2D8E8D1D7E7D1D7E7D1D7E7 -CED5E7CFD6E8D1D8EACED5E7B5BCCE8C93A57A8193858C9E848A98838997828896808694 -8086948086948086947F85937F85957F85957F85957F85957E84947E84947E84947E8494 -787F917B82947C83957B8294787F91777E90787F917A819378808D737A8A798090778091 -727A8D777F948893A9A7B2C8AEBCD9AEBCD9ADBBD8ACBAD7ACBAD7ABB9D6AAB8D5AAB8D5 -A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A4B3D2A2B0D3A2B0D3A1AFD2A0AED1 -9FADD09FADD09EACCF9EACCF9BABCD97A8D397AAD296ABCA98AAD096A2D29FAAC8C1CCCE -CBD0D4D8DCE5DAE0ECD6DBEED6DDEFD7DEF0D5DCECD4DEEAD5DCEED5DCEED4DBEDD4DBED -D3DAECD3DAECD2D9EBD2D9EBD1D8EBD1D8EBD1D8EBD0D7EAD0D7EACFD6E9CFD6E9CED5E8 -D1D6E9CCD1E4D2D8E8C3C9D99399A97C8290858B99808694818795818795818795818795 -8187958086948086948086948086968086967F85957F85957E84947E84947D83937D8393 -7B82947B82947A81937A8193798092798092798092787F91747B8E7B8295787F92787F92 -79809370778A798093989FB2B5C1D9B0BCD6ADB9D3ADBBD6ACBAD7AAB7D7A8B7D8A7B6D7 -A6B5D6A6B5D6A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D29FAFD39FAFD39EAED29EAED2 -9DADD19CACD09BABCF9BABCF9BABCD97A8D398ABD392A7C697A9CF97A3D39AA5C3C2CDCF -CBD0D4D8DCE5DAE0ECD6DBEED5DCEED6DDEFD5DCECD4DEEAD5DCEED4DBEDD4DBEDD4DBED -D3DAECD2D9EBD2D9EBD2D9EBD1D8EBD1D8EBD0D7EAD0D7EACFD6E9CFD6E9CED5E8CED5E8 -CED3E6CDD2E5D3D9E9B3B9C98A90A0828896818795838997818795818795818795818795 -8086948086948086948086948086967F85957F85957E84947E84947D83937D83937D8393 -7B82947B82947A81937A8193798092798092787F91787F91777E91787F92757C8F777E91 -798093737A8D767D90888FA2A8B4CCADB9D3AEBAD4A9B7D2ABB9D6ACB9D9A9B8D9A7B6D7 -A6B5D6A6B5D6A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D29FAFD39FAFD39EAED29EAED2 -9DADD19CACD09BABCF9BABCF9BABCD97A8D397AAD292A7C697A9CF97A3D39AA5C3C2CDCF -CACFD3D8DCE5D9DFEBD5DAEDD5DCEED6DDEFD4DBEBD3DDE9D4DBEDD4DBEDD3DAECD3DAEC -D2D9EBD2D9EBD2D9EBD1D8EAD0D7EAD0D7EAD0D7EACFD6E9CFD6E9CED5E8CED5E8CED5E8 -CACFE2CDD2E5CAD0E09CA2B2818797868C9A7E8492878D9B818795818795818795818795 -8086948086948086948086947F85957F85957F85957E84947E84947D83937D83937C8292 -7B82947B82947A81937A8193798092798092787F91787F91798093757C8F747B8E767D90 -787F92767D90757C8F767D90919DB5A9B5CFB1BDD7A8B6D1A9B7D4ADBADAAAB9DAA7B6D7 -A6B5D6A6B5D6A5B4D5A4B3D4A3B2D3A3B2D3A2B1D2A2B1D29FAFD39FAFD39EAED29DADD1 -9CACD09CACD09BABCF9BABCF9AAACC97A8D397AAD291A6C597A9CF97A3D39AA5C3C2CDCF -CACFD3D7DBE4D8DEEAD4D9ECD4DBEDD5DCEED3DAEAD3DDE9D3DAECD3DAECD3DAECD2D9EB -D2D9EBD1D8EAD1D8EAD1D8EAD0D7EACFD6E9CFD6E9CED5E8CED5E8CDD4E7CDD4E7CDD4E7 -CBD0E3CBD0E3B4BACA898F9F7F8595868C9A7F8593878D9B818795818795818795808694 -8086948086948086947F85937F85957E84947E84947E84947D83937C82927C82927C8292 -7B82947A81937A8193798092798092787F91787F91787F91798093747B8E757C8F767D90 -757C8F767D90757C8F6D74877B879FA1ADC7B4C0DAAAB8D3A8B6D3ACB9D9A9B8D9A7B6D7 -A6B5D6A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A2B1D29FAFD39EAED29EAED29DADD1 -9CACD09BABCF9BABCF9BABCF9AAACC96A7D297AAD291A6C596A8CE97A3D39AA5C3C2CDCF -C9CED2D6DAE3D8DEEAD3D8EBD3DAECD4DBEDD3DAEAD2DCE8D2D9EBD2D9EBD2D9EBD1D8EA -D1D8EAD0D7E9D0D7E9D0D7E9CFD6E9CFD6E9CED5E8CED5E8CDD4E7CDD4E7CCD3E6CCD3E6 -CDD2E5C4C9DC979DAD7F8595848A9A818795828896848A98818795808694808694808694 -8086947F85937F85937F85937E84947E84947E84947D83937C82927C82927C82927B8191 -7A81937A81937A8193798092798092787F91787F91777E90787F92747B8E777E91777E91 -72798C757C8F777E916F76896C789096A2BCB1BDD7ADBBD6A9B7D4A9B6D6A7B6D7A7B6D7 -A5B4D5A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A1B0D19EAED29EAED29EAED29DADD1 -9CACD09BABCF9BABCF9AAACE9AAACC96A7D297AAD291A6C596A8CE96A2D299A4C2C2CDCF -C8CDD1D5D9E2D7DDE9D3D8EBD2D9EBD3DAECD2D9E9D1DBE7D2D9EBD1D8EAD1D8EAD1D8EA -D0D7E9D0D7E9CFD6E8CFD6E8CED5E8CED5E8CDD4E7CDD4E7CCD3E6CCD3E6CBD2E5CBD2E5 -CED3E6B7BCCF8389997E8494878D9D7E8492848A98828896808694808694808694808694 -7F85937F85937F85937F85937E84947D83937D83937C82927C82927B81917B81917B8191 -7A81937A8193798092798092787F91787F91777E90777E90777E91757C8F777E91777E91 -71788B737A8D767D90737A8D68748C8490AAA2AEC8ACBAD5AAB8D5A7B4D4A6B5D6A6B5D6 -A5B4D5A5B4D5A4B3D4A4B3D4A3B2D3A2B1D2A1B0D1A1B0D19EAED29EAED29DADD19DADD1 -9CACD09BABCF9AAACE9AAACE9AAACC96A7D296A9D191A6C596A8CE96A2D299A4C2C1CCCE -C7CCD0D5D9E2D6DCE8D2D7EAD2D9EBD3DAECD1D8E8D0DAE6D1D8EAD1D8EAD1D8EAD0D7E9 -CFD6E8CFD6E8CFD6E8CED5E7CDD4E7CDD4E7CDD4E7CCD3E6CCD3E6CBD2E5CBD2E5CBD2E5 -CDD2E5A8ADC07F8595808696868C9C7F8593838997818795808694808694808694808694 -7F85937F85937F85937F85937D83937D83937D83937C82927C82927B81917B81917A8090 -7A81937A8193798092798092787F91787F91777E90777E90787F92757C8F757C8F767D90 -737A8D72798C737A8D737A8D6D7991717D978B97B1A5B3CEABB9D6A8B5D5A7B6D7A5B4D5 -A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A1B0D1A1B0D19EAED29EAED29DADD19CACD0 -9BABCF9BABCF9AAACE9AAACE99A9CB96A7D296A9D190A5C496A8CE96A2D299A4C2C1CCCE -C7CCD0D4D8E1D6DCE8D2D7EAD2D9EBD3DAECD1D8E8D0DAE6D1D8EAD1D8EAD0D7E9D0D7E9 -CFD6E8CFD6E8CED5E7CED5E7CDD4E7CDD4E7CCD3E6CCD3E6CBD2E5CBD2E5CAD1E4CAD1E4 -CBD0E39EA3B68389998288988288988288968086948187958086948086948086947F8593 -7F85937F85937F85937F85937D83937D83937C82927C82927B81917B81917A80907A8090 -7A8193798092798092798092787F91787F91777E90777E90798093747B8E72798C747B8E -767D9072798C70778A72798C737F9764708A79859F9FADC8ABB9D6A9B6D6A8B7D8A4B3D4 -A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A1B0D1A1B0D19EAED29EAED29DADD19CACD0 -9BABCF9BABCF9AAACE9AAACE99A9CB95A6D196A9D190A5C496A8CE96A2D299A4C2C1CCCE -CCD1D7D1D5E0D2D8E6D0D5E8CFD6E9D0D7EAD0D7E9CDD6E5CDD5E8CDD5E8CDD5E8CDD5E8 -CCD4E7CCD4E7CCD4E7CCD4E7CBD3E6CBD3E6CAD2E5CAD2E5C9D1E4C9D1E4C8D0E3C8D0E3 -B4BACA8A90A07D83938389998389998288987E84948086968086968086967F85957F8595 -7E84947E84947D83937D83937A81937A81937A81937A81937A8193798092798092798092 -798093798093787F92787F92777E91777E91767D90767D90737B8E737B8E737B8E727A8D -727A8D71798C71798C71798C6F778C6C778D717B9499A5BFA6B4CFA9B8D7A7B7D8A3B3D4 -A4B2D5A4B2D5A3B1D4A2B0D3A1AFD2A1AFD2A0AED1A0AED19DACD39DACD39CABD29BAAD1 -9BAAD19AA9D099A8CF99A8CF98A8CC94A5D196A9D38FA3C494A6CE94A0D299A4C4C2CDD1 -CCD1D7D0D4DFD1D7E5D0D5E8CFD6E9D0D7EACFD6E8CCD5E4CDD5E8CDD5E8CDD5E8CCD4E7 -CCD4E7CCD4E7CCD4E7CCD4E7CBD3E6CAD2E5CAD2E5CAD2E5C9D1E4C8D0E3C8D0E3C8D0E3 -A1A7B78389997E84948288988187978389998187978187978086967F85957F85957E8494 -7E84947D83937D83937D83937A81937A81937A81937A8193798092798092798092798092 -798093787F92787F92777E91777E91767D90767D90767D90737B8E737B8E737B8E727A8D -727A8D71798C71798C70788B6E768B6E798F737D9698A4BEAAB8D3ADBCDBA6B6D7A2B2D3 -A4B2D5A3B1D4A3B1D4A2B0D3A1AFD2A1AFD2A0AED1A0AED19DACD39DACD39CABD29BAAD1 -9AA9D09AA9D099A8CF99A8CF97A7CB94A5D196A9D38FA3C493A5CD94A0D299A4C4C2CDD1 -CBD0D6D0D4DFD1D7E5D0D5E8CED5E8CFD6E9CFD6E8CCD5E4CCD4E7CCD4E7CCD4E7CCD4E7 -CCD4E7CBD3E6CBD3E6CBD3E6CAD2E5CAD2E5C9D1E4C9D1E4C8D0E3C8D0E3C8D0E3C7CFE2 -9197A77E84948086968288987E84948288988187977F85957F85957F85957F85957E8494 -7E84947D83937D83937C82927A81937A81937A81937A8193798092798092798092798092 -787F92787F92787F92777E91777E91767D90767D90757C8F737B8E737B8E727A8D727A8D -71798C71798C70788B70788B70788D6E798F68728B828EA89CAAC5A6B5D4A2B2D3A5B5D6 -A3B1D4A3B1D4A2B0D3A2B0D3A1AFD2A0AED1A0AED19FADD09DACD39CABD29CABD29BAAD1 -9AA9D099A8CF99A8CF99A8CF97A7CB94A5D195A8D28FA3C493A5CD94A0D298A3C3C2CDD1 -CACFD5CFD3DED0D6E4CFD4E7CDD4E7CED5E8CED5E7CBD4E3CCD4E7CBD3E6CBD3E6CBD3E6 -CBD3E6CBD3E6CAD2E5CAD2E5C9D1E4C9D1E4C9D1E4C8D0E3C8D0E3C7CFE2C7CFE2C7CFE2 -9399A97F85958086968389997E84947F85957E84947D83937F85957E84947E84947E8494 -7D83937C82927C82927C82927A81937A81937A8193798092798092798092798092787F91 -787F92777E91777E91777E91767D90757C8F757C8F757C8F737B8E737B8E727A8D727A8D -71798C71798C70788B70788B6E768B707B916A748D7C88A29EACC7A9B8D7A0B0D1A3B3D4 -A3B1D4A3B1D4A2B0D3A1AFD2A0AED1A0AED19FADD09FADD09CABD29CABD29CABD29BAAD1 -9AA9D099A8CF99A8CF98A7CE97A7CB94A5D195A8D28FA3C493A5CD939FD198A3C3C2CDD1 -C9CED4CED2DDCFD5E3CED3E6CCD3E6CED5E8CDD4E6CAD3E2CBD3E6CBD3E6CAD2E5CAD2E5 -CAD2E5CAD2E5CAD2E5C9D1E4C8D0E3C8D0E3C8D0E3C7CFE2C7CFE2C6CEE1C6CEE1C6CEE1 -9DA3B38187977E84948389998086967F85957D83937E84947E84947E84947E84947D8393 -7C82927C82927C82927B81917A8193798092798092798092798092787F91787F91787F91 -777E91777E91777E91767D90757C8F757C8F757C8F747B8E737B8E727A8D727A8D71798C -71798C70788B70788B70788B6E768B707B9169738C727E9899A7C2A8B7D69FAFD0A3B3D4 -A2B0D3A2B0D3A1AFD2A1AFD2A0AED19FADD09EACCF9EACCF9CABD29CABD29BAAD19BAAD1 -9AA9D099A8CF98A7CE98A7CE97A7CB94A5D195A8D28EA2C393A5CD939FD198A3C3C2CDD1 -C9CED4CDD1DCCED4E2CDD2E5CCD3E6CDD4E7CCD3E5C9D2E1CAD2E5CAD2E5CAD2E5C9D1E4 -C9D1E4C9D1E4C9D1E4C9D1E4C8D0E3C7CFE2C7CFE2C7CFE2C6CEE1C6CEE1C5CDE0C5CDE0 -9EA4B47F85957B81918187978187978187977F85958086967E84947D83937D83937C8292 -7C82927B81917B81917B8191798092798092798092798092787F91787F91787F91787F91 -777E91767D90767D90757C8F757C8F747B8E747B8E747B8E727A8D727A8D727A8D71798C -71798C70788B70788B6F778A6F778C6D788E66708965718B8D9BB6A2B1D09FAFD0A3B3D4 -A2B0D3A1AFD2A1AFD2A0AED19FADD09FADD09EACCF9EACCF9CABD29CABD29BAAD19AA9D0 -99A8CF99A8CF98A7CE98A7CE96A6CA93A4D095A8D28EA2C392A4CC939FD198A3C3C1CCD0 -C8CDD3CDD1DCCED4E2CDD2E5CBD2E5CCD3E6CCD3E5C9D2E1C9D1E4C9D1E4C9D1E4C9D1E4 -C9D1E4C8D0E3C8D0E3C8D0E3C7CFE2C7CFE2C7CFE2C6CEE1C5CDE0C5CDE0C5CDE0C4CCDF -959BAB7D83937C82928086967E84948288988086967D83937D83937D83937D83937C8292 -7C82927B81917B81917A8090798092798092798092798092787F91787F91787F91787F91 -767D90767D90767D90757C8F757C8F747B8E747B8E737A8D727A8D727A8D71798C71798C -70788B70788B6F778A6F778A6C74896D788E6F79926D799393A1BCA8B7D6A3B3D49FAFD0 -A1AFD2A1AFD2A0AED1A0AED19FADD09EACCF9EACCF9DABCE9CABD29BAAD19BAAD19AA9D0 -99A8CF98A7CE98A7CE98A7CE96A6CA93A4D094A7D18EA2C392A4CC939FD197A2C2C1CCD0 -C8CDD3CDD1DCCDD3E1CCD1E4CBD2E5CCD3E6CBD2E4C8D1E0C9D1E4C9D1E4C9D1E4C9D1E4 -C8D0E3C8D0E3C8D0E3C8D0E3C7CFE2C7CFE2C6CEE1C6CEE1C5CDE0C5CDE0C4CCDFC4CCDF -8C92A27D83938086967F85957B81918187977E8494787E8E7D83937D83937C82927C8292 -7B81917B81917A80907A8090798092798092798092787F91787F91787F91787F91787F91 -767D90767D90757C8F757C8F747B8E747B8E737A8D737A8D727A8D727A8D71798C71798C -70788B70788B6F778A6F778A6D758A6A758B6D779066728C8A98B3A3B2D1A3B3D4A0B0D1 -A1AFD2A1AFD2A0AED1A0AED19FADD09EACCF9DABCE9DABCE9CABD29BAAD19BAAD19AA9D0 -99A8CF98A7CE98A7CE97A6CD96A6CA93A4D094A7D18EA2C392A4CC939FD197A2C2C1CCD0 -C8D1DAC9D1DEC9D0E2C9D1E6C9D1E8C6D1E7C6D1E5C5D0E2C5D0E4C5D0E4C5D0E4C5D0E4 -C4CFE3C4CFE3C4CFE3C4CFE3C4CFE5C2CDE3C1CCE2C2CDE3C3CEE4C2CDE3BEC9DFBAC5DB -7E85977D84967B82947C83957D84967B82947A81937E85977A81937A81937A81937A8193 -7A8193798092798092798092798093798093787F92787F92777E91777E91767D90767D90 -737B8E737B8E737B8E737B8E737B8E727A8D727A8D727A8D6F7A8C6F7A8C6E798B6E798B -6D788A6D788A6D788A6C77896B768A6E7B8E6571876C7A948D9DB79EAFCB9CAFCDA0B3D3 -9FAFD39FAFD39EAED29EAED29DADD19CACD09BABCF9BABCF98AAD298AAD297A9D196A8D0 -95A7CF95A7CF94A6CE94A6CE93A5CB91A3D18EA3CE8FA6C88FA2CA92A0D1949EC1C1CED4 -C8D1DAC8D0DDC9D0E2C8D0E5C8D0E7C6D1E7C5D0E4C5D0E2C5D0E4C5D0E4C5D0E4C4CFE3 -C4CFE3C4CFE3C4CFE3C4CFE3C4CFE5C2CDE3C1CCE2C2CDE3C3CEE4C2CDE3BEC9DFBAC5DB -7F86987E85977F86987F86987C83957C83957C83957A81937A81937A81937A81937A8193 -798092798092798092798092798093787F92787F92777E91777E91767D90767D90767D90 -737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D6F7A8C6F7A8C6E798B6E798B -6D788A6D788A6C77896C77896E798D6B778D68748C77859F96A6C0A4B5D39EB1D19CAFCF -9FAFD39FAFD39EAED29DADD19DADD19CACD09BABCF9BABCF98AAD297A9D197A9D196A8D0 -95A7CF95A7CF94A6CE94A6CE93A5CB91A3D18DA2CD8FA6C88FA2CA92A0D1949EC1C0CDD3 -C8D1DAC8D0DDC8CFE1C8D0E5C8D0E7C5D0E6C5D0E4C5D0E2C4CFE3C4CFE3C4CFE3C4CFE3 -C4CFE3C3CEE2C3CEE2C3CEE2C3CEE4C2CDE3C1CCE2C1CCE2C2CDE3C1CCE2BEC9DFBBC6DC -8087997980927B82947D84967980927B82947D8496777E907A81937A81937A81937A8193 -798092798092798092798092787F92787F92787F92777E91777E91767D90767D90757C8F -737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D6F7A8C6F7A8C6E798B6E798B -6D788A6D788A6C77896C77896E798D68748A717D958997B19FAECBA5B6D49FB2D29BAECF -9FAFD39EAED29EAED29DADD19CACD09BABCF9BABCF9AAACE97A9D197A9D196A8D096A8D0 -95A7CF94A6CE94A6CE93A5CD93A5CB91A3D18DA2CD8EA5C78FA2CA92A0D1949EC1C0CDD3 -C7D0D9C7CFDCC8CFE1C7CFE4C7CFE6C5D0E6C4CFE3C4CFE1C4CFE3C3CEE2C3CEE2C3CEE2 -C3CEE2C3CEE2C2CDE1C2CDE1C2CDE3C1CCE2C0CBE1C0CBE1C1CCE2C0CBE1BEC9DFBBC6DC -939AAC7D8496777E907D84967980927B82947D8496767D8F7A81937A81937A8193798092 -798092798092798092787F91787F92777E91777E91777E91767D90757C8F757C8F757C8F -737B8E737B8E737B8E727A8D727A8D727A8D727A8D71798C6F7A8C6E798B6E798B6D788A -6D788A6C77896C77896C77896A758B6571877D89A19BA9C4A2B1CE9FB0CE9FB2D29FB2D3 -9EAED29EAED29DADD19CACD09CACD09BABCF9AAACE9AAACE97A9D197A9D196A8D095A7CF -94A6CE94A6CE93A5CD93A5CD93A5CB91A3D18DA2CD8EA5C78EA1C992A0D1949EC1C0CDD3 -C6CFD8C6CEDBC7CEE0C6CEE3C6CEE5C4CFE5C3CEE2C3CEE0C3CEE2C3CEE2C2CDE1C2CDE1 -C2CDE1C2CDE1C2CDE1C1CCE0C1CCE2C0CBE1C0CBE1C0CBE1C0CBE1BFCAE0BEC9DFBCC7DD -B2B9CB8A91A3787F917D84967C83957A81937C8395787F917A8193798092798092798092 -798092787F91787F91787F91777E91777E91777E91767D90757C8F757C8F757C8F747B8E -737B8E727A8D727A8D727A8D727A8D71798C71798C71798C6E798B6E798B6E798B6D788A -6D788A6C77896C77896B768869748A647088818DA7A2B0CBA2B1D09CACCD9FB2D39FB1D5 -9EAED29DADD19DADD19CACD09BABCF9AAACE9AAACE99A9CD96A8D096A8D095A7CF95A7CF -94A6CE93A5CD92A4CC92A4CC92A4CA90A2D08DA2CD8EA5C78EA1C992A0D1939DC0C0CDD3 -C5CED7C6CEDBC6CDDFC5CDE2C5CDE4C3CEE4C3CEE2C2CDDFC2CDE1C2CDE1C2CDE1C1CCE0 -C1CCE0C1CCE0C1CCE0C1CCE0C0CBE1C0CBE1BFCAE0BFCAE0BFCAE0BEC9DFBEC9DFBDC8DE -BAC1D38F96A8757C8E777E907A81937980927B82947B8294798092798092798092798092 -787F91787F91787F91787F91777E91767D90767D90757C8F757C8F747B8E747B8E747B8E -727A8D727A8D727A8D727A8D71798C71798C71798C71798C6E798B6E798B6D788A6D788A -6C77896C77896B76886B76886C768F636F877F8BA5A1AFCCA3B2D19EAECF9EB1D29CAED2 -9DADD19DADD19CACD09BABCF9BABCF9AAACE99A9CD99A9CD96A8D095A7CF95A7CF94A6CE -93A5CD93A5CD92A4CC92A4CC92A4CA90A2D08CA1CC8EA5C78EA1C9919FD0939DC0BFCCD2 -C5CED7C5CDDAC6CDDFC5CDE2C5CDE4C3CEE4C2CDE1C2CDDFC1CCE0C1CCE0C1CCE0C1CCE0 -C1CCE0C0CBDFC0CBDFC0CBDFC0CBE1BFCAE0BFCAE0BEC9DFBEC9DFBDC8DEBEC9DFBEC9DF -B9C0D299A0B27C8395757C8E777E90787F917980927B8294798092798092798092798092 -787F91787F91787F91787F91767D90767D90767D90757C8F757C8F747B8E747B8E737A8D -727A8D727A8D727A8D727A8D71798C71798C71798C71798C6E798B6E798B6D788A6D788A -6C77896C77896B76886B76886A748D66728C818CA8A1AFCCA3B2D19DADCF9DAFD39CAED2 -9DADD19CACD09CACD09BABCF9AAACE99A9CD99A9CD98A8CC95A7CF95A7CF94A6CE94A6CE -93A5CD92A4CC92A4CC91A3CB92A4CA90A2D08CA1CC8DA4C68EA1C9919FD0939DC0BFCCD2 -C4CDD6C5CDDAC5CCDEC5CDE2C5CDE4C2CDE3C2CDE1C1CCDEC1CCE0C1CCE0C1CCE0C1CCE0 -C0CBDFC0CBDFC0CBDFC0CBDFBFCAE0BFCAE0BFCAE0BEC9DFBDC8DEBDC8DEBEC9DFBEC9DF -C2C9DBADB4C69097A97E85977B82947A8193787F91777E90798092798092798092787F91 -787F91787F91787F91787F91767D90767D90757C8F757C8F747B8E747B8E737A8D737A8D -727A8D727A8D727A8D71798C71798C71798C71798C71798C6E798B6D788A6D788A6D788A -6C77896C77896B76886B768866708968748E8792AEA3B1CEA1B0D19AAACC9CAED29FB1D5 -9CACD09CACD09CACD09BABCF9AAACE99A9CD99A9CD98A8CC95A7CF95A7CF94A6CE94A6CE -93A5CD92A4CC91A3CB91A3CB92A4CA90A2D08CA1CC8DA4C68DA0C8919FD0939DC0BFCCD2 -C5CED7C5CDDAC4CBDEC2C9E3C1C8E4BFC9E4BFC9E2BFC9E2BECAE2BECAE2BECAE2BECAE2 -BDC9E1BDC9E1BDC9E1BDC9E1BBC7E1BBC7E1BBC7E1BBC7E1BAC6E0BAC6E0BAC6E0BAC6E0 -B8C2DBBAC4DDBEC6DD868EA3777F92787F92787F917D8494777E91777E91777E91777E91 -767D90767D90767D90767D90737B8E737B8E737B8E737B8E737B8E727A8D727A8D727A8D -6F7A8C6F7A8C6F7A8C6F7A8C6E798B6E798B6E798B6E798B6F7A906C778D6D788E6F7A90 -6D788E69748A69748A6B768C6C779367728E8A98B59EABCB9FAECFA3B2D39CAACD9FADD0 -99ABD199ABD199ABD198AAD097A9CF96A8CE96A8CE95A7CD95A7CF95A7CF94A6CE93A5CD -92A4CC92A4CC91A3CB91A3CB8FA1C78D9FCD8BA0CB8BA2C48B9EC68F9DCE939DC0C0CDD3 -C5CED7C4CCD9C3CADDC1C8E2C1C8E4BFC9E4BFC9E2BFC9E2BECAE2BECAE2BECAE2BDC9E1 -BDC9E1BDC9E1BDC9E1BDC9E1BBC7E1BBC7E1BBC7E1BAC6E0BAC6E0BAC6E0BAC6E0BAC6E0 -B9C3DEB6C0D9B9C4DA9098AF767E937A8194787F91757C8E777E91777E91777E91777E91 -767D90767D90767D90767D90737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D -6F7A8C6F7A8C6F7A8C6E798B6E798B6E798B6E798B6D788A6D788E6C778D6C778D6C778D -6B768C6A758B6A758B6B768C646F8B66718D8B99B69FACCCA0AFD0A4B2D59DABCE9DADD1 -99ABD199ABD198AAD098AAD097A9CF96A8CE95A7CD95A7CD95A7CF94A6CE94A6CE93A5CD -92A4CC92A4CC91A3CB91A3CB8EA0C68D9FCD8A9FCA8BA2C48B9EC68F9DCE929CBFC0CDD3 -C4CDD6C4CCD9C3CADDC1C8E2C0C7E3BEC8E3BEC8E1BEC8E1BDC9E1BDC9E1BDC9E1BDC9E1 -BDC9E1BCC8E0BCC8E0BCC8E0BAC6E0BAC6E0BAC6E0BAC6E0BAC6E0B9C5DFB9C5DFB9C5DF -BCC8E2B8C2DBBBC5DE9FAAC0777F94788093798092767D8F777E91777E91767D90767D90 -767D90767D90757C8F757C8F737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D -6E798B6E798B6E798B6E798B6E798B6D788A6D788A6D788A6B768C6C778D6B768C69748A -6A758B6A758B6A758B6A758B5F6D88697794909EBB9FAECD9FAECFA3B3D59CACD09BABCF -99ABD199ABD198AAD097A9CF96A8CE96A8CE95A7CD95A7CD94A6CE94A6CE93A5CD93A5CD -92A4CC91A3CB91A3CB90A2CA8EA0C68D9FCD8A9FCA8BA2C48B9EC68F9DCE929CBFC0CDD3 -C3CCD5C3CBD8C2C9DCC0C7E1BFC6E2BDC7E2BEC8E1BEC8E1BDC9E1BCC8E0BCC8E0BCC8E0 -BCC8E0BCC8E0BBC7DFBBC7DFBAC6E0B9C5DFB9C5DFB9C5DFB9C5DFB9C5DFB8C4DEB8C4DE -BAC6E0B9C5DFB9C3DCACB7CD788397727A8D727A8D7A8394767D90767D90767D90767D90 -757C8F757C8F757C8F757C8F737B8E737B8E737B8E727A8D727A8D727A8D727A8D71798C -6E798B6E798B6E798B6D788A6D788A6D788A6D788A6D788A6A758B6E798F6C778D69748A -6A758B6A758B68738969748A6C7A977A88A598A7C6A0AFD09DACCDA0B0D29CACD09AAACE -98AAD098AAD097A9CF97A9CF96A8CE95A7CD95A7CD94A6CC94A6CE94A6CE93A5CD92A4CC -91A3CB91A3CB90A2CA90A2CA8EA0C68D9FCD8A9FCA8BA2C48A9DC58E9CCD929CBFC0CDD3 -C3CCD5C2CAD7C1C8DBBFC6E0BFC6E2BDC7E2BDC7E0BDC7E0BCC8E0BCC8E0BBC7DFBBC7DF -BBC7DFBBC7DFBBC7DFBAC6DEB9C5DFB9C5DFB8C4DEB8C4DEB8C4DEB8C4DEB8C4DEB7C3DD -B4BFDBB6C2DCB1BDD7B1BBD48A95AB77829671798C767E91767D90767D90757C8F757C8F -757C8F757C8F747B8E747B8E737B8E727A8D727A8D727A8D727A8D71798C71798C71798C -6D788A6D788A6D788A6D788A6D788A6C77896C77896C778969748A6F7A906C778D69748A -6B768C69748A6671876B768C8392AF8F9EBBA0AFCE9FAFD09AAACC9CACD099ABD198AAD0 -98AAD097A9CF97A9CF96A8CE95A7CD95A7CD94A6CC94A6CC93A5CD93A5CD92A4CC92A4CC -91A3CB90A2CA8FA1C98FA1C98EA0C68D9FCD8A9FCA8BA2C48A9DC58E9CCD929CBFC0CDD3 -C2CBD4C1C9D6C0C7DABEC5DFBEC5E1BCC6E1BCC6DFBCC6DFBBC7DFBBC7DFBBC7DFBAC6DE -BAC6DEBAC6DEBAC6DEBAC6DEB8C4DEB8C4DEB8C4DEB7C3DDB7C3DDB7C3DDB7C3DDB7C3DD -B4C2DDB5C3DEB0BCD6B7C3DBA8B3C9949FB3848FA3737B8E757C8F757C8F757C8F757C8F -747B8E747B8E747B8E747B8E727A8D727A8D727A8D727A8D71798C71798C71798C71798C -6D788A6D788A6D788A6C77896C77896C77896C77896C778969748A6E798F6C778D6A758B -6C778D677288677288737E9498A7C69EADCCA3B2D39EAECF99A9CB98AACE99ABD198AAD0 -97A9CF97A9CF96A8CE96A8CE95A7CD94A6CC93A5CB93A5CB93A5CD92A4CC92A4CC91A3CB -90A2CA90A2CA8FA1C98FA1C98D9FC58C9ECC899EC98AA1C38A9DC58E9CCD919BBEBFCCD2 -C1CAD3C1C9D6C0C7DABEC5DFBDC4E0BBC5E0BBC5DEBCC6DFBAC6DEBAC6DEBAC6DEBAC6DE -BAC6DEB9C5DDB9C5DDB9C5DDB7C3DDB7C3DDB7C3DDB7C3DDB7C3DDB6C2DCB6C2DCB6C2DC -B5C3E0B5C3DEB2C0DBB7C3DDB7C3DBB0BBD1A6B1C5747F93757C8F757C8F747B8E747B8E -747B8E747B8E737A8D737A8D727A8D727A8D727A8D727A8D71798C71798C71798C71798C -6D788A6C77896C77896C77896C77896B76886B76886B76886A758B6D788E69748A69748A -6B768C6671876B768C808BA19FAECDA0B1CF9EAECF9CACCE98AACE98AAD098ACD198ABD3 -97A9CF97A9CF96A8CE95A7CD94A6CC94A6CC93A5CB93A5CB92A4CC92A4CC91A3CB91A3CB -90A2CA8FA1C98FA1C98EA0C88D9FC58C9ECC899EC98AA1C38A9DC58E9CCD919BBEBFCCD2 -C1CAD3C0C8D5BFC6D9BEC5DFBDC4E0BBC5E0BBC5DEBBC5DEBAC6DEBAC6DEBAC6DEBAC6DE -B9C5DDB9C5DDB9C5DDB9C5DDB7C3DDB7C3DDB7C3DDB7C3DDB6C2DCB6C2DCB6C2DCB6C2DC -AFBDDAB0BED9B3C1DCAFBBD5B2BED6B6C2D8BAC5D9768195757C8F747B8E747B8E747B8E -747B8E737A8D737A8D737A8D727A8D727A8D727A8D71798C71798C71798C71798C71798C -6C77896C77896C77896C77896B76886B76886B76886B76886B768C6C778D677288677288 -6B768C6570866E798F8A95AB9DAECC9DAECC99A9CA9AAACC9AACD099ABD199ACD498ABD3 -97A9CF96A8CE96A8CE95A7CD94A6CC93A5CB93A5CB93A5CB92A4CC92A4CC91A3CB91A3CB -90A2CA8FA1C98EA0C88EA0C88D9FC58C9ECC899EC98AA1C3899CC48D9BCC919BBEBFCCD2 -C6CDD3BFC6D8B8C1DEB6C4E1B8C7DEB6C5D8B9C3DEBBC1E3B6C4DFB5C3DEB5C3DEB5C3DE -B5C3DEB4C2DDB4C2DDB4C2DDB3C1DCB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB2C0DB -B1BFDCB3C1DEB2C0DDB0BEDBB3C1DEB3C1DEA6B4D196A4C16E768B737B90767E93737B8E -727A8D757E8F747D8E6E77886E798D6E798D6E798D6E798D6D788C6D788C6D788C6D788C -6C778B6C778B6C778B6C778B6B768A6B768A6B768A6B768A6D75886873856A7589656F88 -67738D66718F6D7A9A99A6C69CABD29BAAD19BAAD19AA9D09AA9D099A8CF99A8CF99A8CF -96A8D095A7CF95A7CF94A6CE93A5CD92A4CC92A4CC92A4CC90A3CD8FA2CC8FA2CC8EA1CB -8EA1CB8DA0CA8DA0CA8DA0CA8C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C6CDD3BFC6D8B8C1DEB6C4E1B7C6DDB6C5D8B8C2DDBBC1E3B5C3DEB5C3DEB5C3DEB5C3DE -B4C2DDB4C2DDB4C2DDB4C2DDB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB2C0DBB2C0DB -B0BEDBB2C0DDB0BEDBAEBCD9B0BEDBB2C0DDAAB8D59FADCA6F778C777F94727A8F6D7588 -737B8E70788B6C7586747D8E6E798D6E798D6E798D6E798D6D788C6D788C6D788C6D788C -6C778B6C778B6C778B6B768A6B768A6B768A6B768A6A75896873856A75896873896A748D -67738D626D8B7683A39BA8C89BAAD19BAAD19BAAD19AA9D09AA9D099A8CF99A8CF99A8CF -96A8D095A7CF95A7CF94A6CE93A5CD92A4CC92A4CC91A3CB8FA2CC8FA2CC8FA2CC8EA1CB -8EA1CB8DA0CA8DA0CA8DA0CA8C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C6CDD3BFC6D8B7C0DDB5C3E0B7C6DDB6C5D8B8C2DDBAC0E2B5C3DEB5C3DEB4C2DDB4C2DD -B4C2DDB4C2DDB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB1BFDA -B0BEDBB1BFDCAFBDDAACBAD7AEBCD9B2C0DDAFBDDAA9B7D47A8299767E956F778C70788D -747C8F6E76896B7386747D8E6E798D6E798D6D788C6D788C6D788C6D788C6C778B6C778B -6B768A6B768A6B768A6B768A6B768A6A75896A75896A75896671836C778B6671876B778F -66718D616F8C8491B19DAACC9BAAD19BAAD19AA9D09AA9D099A8CF99A8CF98A7CE98A7CE -95A7CF95A7CF94A6CE93A5CD93A5CD92A4CC91A3CB91A3CB8FA2CC8FA2CC8EA1CB8EA1CB -8DA0CA8DA0CA8C9FC98C9FC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C5CCD2BEC5D7B7C0DDB5C3E0B6C5DCB5C4D7B7C1DCBAC0E2B4C2DDB4C2DDB4C2DDB3C1DC -B3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB1BFDAB1BFDAB1BFDAB1BFDAB1BFDAB0BED9B0BED9 -AFBDDAB1BFDCB0BEDBACBAD7ADBBD8B0BEDBB1BFDCAEBCD9929DB3717C926B768C747F93 -707B8F6F7A8C727D8F6B76886D788C6D788C6D788C6D788C6C778B6C778B6C778B6C778B -6B768A6B768A6B768A6A75896A75896A75896A75896A75896772866A758965718765718B -606E896F7C9C909FC09DACCD9AA9D09AA9D09AA9D099A8CF99A8CF98A7CE98A7CE98A7CE -95A7CF94A6CE94A6CE93A5CD92A4CC91A3CB91A3CB90A2CA8EA1CB8EA1CB8EA1CB8DA0CA -8DA0CA8C9FC98C9FC98C9FC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C4CBD1BDC4D6B6BFDCB4C2DFB5C4DBB4C3D6B6C0DBB9BFE1B3C1DCB3C1DCB3C1DCB2C0DB -B2C0DBB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB0BED9B0BED9B0BED9B0BED9B0BED9AFBDD8 -AEBCD9B1BFDCB1BFDCAEBCD9ADBBD8AEBCD9AFBDDAAEBCD9A9B3CC7D87A069748A6F7A90 -6E798D717C90747F916974866D788C6D788C6C778B6C778B6C778B6C778B6B768A6B768A -6A75896A75896A75896A75896A75896974886974886974886A778A64708667738B5D6B85 -63718E8392B197A6C79CAACD9AA9D09AA9D099A8CF99A8CF98A7CE98A7CE97A6CD97A6CD -94A6CE94A6CE93A5CD92A4CC92A4CC91A3CB90A2CA90A2CA8EA1CB8EA1CB8DA0CA8DA0CA -8C9FC98C9FC98B9EC88B9EC88C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C3CAD0BCC3D5B5BEDBB3C1DEB4C3DAB3C2D5B5BFDAB8BEE0B2C0DBB2C0DBB2C0DBB2C0DB -B1BFDAB1BFDAB1BFDAB1BFDAB0BED9B0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8AFBDD8 -AEBCD9B0BEDBB0BEDBAFBDDAADBBD8ACBAD7ACBAD7ACBAD7B1BDD595A1B9727E96667288 -6E7A906E7B8E6A778A6D7A8D6C778B6C778B6C778B6C778B6B768A6B768A6B768A6B768A -6A75896A75896A75896974886974886974886974886974886B778D616D8366758C63718C -72819E95A4C59BA9CC99A9CB99A8CF99A8CF99A8CF98A7CE98A7CE97A6CD97A6CD97A6CD -94A6CE93A5CD93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98DA0CA8DA0CA8DA0CA8C9FC9 -8C9FC98B9EC88B9EC88B9EC88C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C3CAD0BCC3D5B5BEDBB3C1DEB4C3DAB3C2D5B5BFDAB8BEE0B2C0DBB2C0DBB1BFDAB1BFDA -B1BFDAB1BFDAB0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AEBCD7 -ADBBD8AEBCD9AEBCD9AEBCD9ACBAD7ABB9D6AAB8D5ABB9D6AFBBD3A8B4CC8D99B176829A -717D936B778D6673866F7C8F6C778B6C778B6B768A6B768A6B768A6B768A6A75896A7589 -6A758969748869748869748869748868738768738768738766758A606F8666748E75859F -8B9AB99DACCD9CACCE97A7C999A8CF99A8CF98A7CE98A7CE97A6CD97A6CD96A5CC96A5CC -93A5CD93A5CD92A4CC91A3CB91A3CB90A2CA8FA1C98FA1C98DA0CA8DA0CA8C9FC98C9FC9 -8B9EC88B9EC88A9DC78A9DC78C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C2C9CFBBC2D4B4BDDAB2C0DDB3C2D9B2C1D4B4BED9B7BDDFB1BFDAB1BFDAB1BFDAB1BFDA -B1BFDAB0BED9B0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AEBCD7AEBCD7 -ADBBD8ADBBD8ADBBD8ACBAD7ABB9D6AAB8D5AAB8D5ABB9D6AAB6D0AFBBD3A9B5CD909CB4 -7480966A768C6B788B6D7A8D6C778B6B768A6B768A6B768A6B768A6A75896A75896A7589 -69748869748869748869748868738768738768738768738761708562718865738D8696B0 -9EADCC9CACCD9EAED096A6CA99A8CF99A8CF98A7CE98A7CE97A6CD97A6CD96A5CC96A5CC -93A5CD93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98FA1C98DA0CA8DA0CA8C9FC98C9FC9 -8B9EC88B9EC88A9DC78A9DC78C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C9CDD8B6BCD2B3BCDDB0BFE0AEBED7B0C0D7AEBCD7B2BCE0B0BEDBAFBDDAAFBDDAAFBDDA -AFBDDAAEBCD9AEBCD9AEBCD9ACBCD6ACBCD6ACBCD6ACBCD6ABBBD5ABBBD5ABBBD5ABBBD5 -AAB9D8AAB9D8AAB9D8A9B8D7A9B8D7A9B8D7A9B8D7A9B8D7A6B6D7A6B6D7ACBBDAA6B4CF -7C88A26E78916C778D6C74896B768C6B768C6B768C6B768C6A758B6A758B6A758B6A758B -68738968738968738968738967728867728867728867728868748C636F87606E8994A3C0 -99A9CA98AACE95A9CE95A8D095A7CF95A7CF94A6CE94A6CE93A5CD93A5CD92A4CC92A4CC -90A3CD8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8DA0CA8B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C9CDD8B6BCD2B2BBDCAFBEDFAEBED7AFBFD6AEBCD7B2BCE0AFBDDAAFBDDAAFBDDAAFBDDA -AEBCD9AEBCD9AEBCD9AEBCD9ACBCD6ACBCD6ACBCD6ABBBD5ABBBD5ABBBD5ABBBD5ABBBD5 -AAB9D8AAB9D8A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6A8B7D6A7B7D8A5B5D6A9B8D7A5B3CE -7B87A16C768F6A758B6D758A6B768C6B768C6B768C6B768C6A758B6A758B6A758B6A758B -68738968738968738968738967728867728867728867728867738B647088616F8A94A3C0 -99A9CA98AACE95A9CE95A8D095A7CF95A7CF94A6CE94A6CE93A5CD93A5CD92A4CC92A4CC -8FA2CC8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8DA0CA8B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C8CCD7B5BBD1B2BBDCAFBEDFADBDD6AFBFD6ADBBD6B1BBDFAFBDDAAFBDDAAEBCD9AEBCD9 -AEBCD9AEBCD9ADBBD8ADBBD8ABBAD7ABBAD7ABBAD7ABBAD7ABBAD7AAB9D6AAB9D6AAB9D6 -A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6A8B7D6A8B7D6A8B7D6A8B8D9A3B3D4A7B6D5A4B2CD -7A86A06A748D69748A6E768B6B768C6B768C6A758B6A758B6A758B6A758B69748A69748A -68738968738967728867728867728867728866718766718765718964708863718C92A1BE -9AAACB97A9CD94A8CD95A8D094A6CE94A6CE94A6CE93A5CD93A5CD92A4CC92A4CC92A4CC -8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8C9FC98C9FC98B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C7CBD6B4BAD0B1BADBAEBDDEADBDD6AEBED5ACBAD5B1BBDFAEBCD9AEBCD9AEBCD9ADBBD8 -ADBBD8ADBBD8ADBBD8ACBAD7ABBAD7AAB9D6AAB9D6AAB9D6AAB9D6AAB9D6A9B8D5A9B8D5 -A8B7D6A8B7D6A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A7B6D5A7B7D8A2B2D3A6B5D4A4B2CD -7A86A069738C6873896D758A6A758B6A758B6A758B6A758B69748A69748A69748A69748A -677288677288677288677288667187667187667187667187636F8764708864728D8F9EBB -9AAACB95A7CB94A8CD95A8D094A6CE94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB -8EA1CB8EA1CB8EA1CB8DA0CA8DA0CA8C9FC98C9FC98C9FC98B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C7CBD6B3B9CFB0B9DAADBCDDACBCD5ADBDD4ABB9D4B0BADEADBBD8ADBBD8ADBBD8ACBAD7 -ACBAD7ACBAD7ACBAD7ACBAD7AAB9D8AAB9D8A9B8D7A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6 -A8B7D6A7B6D5A7B6D5A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4A6B6D7A2B2D3A7B6D5A4B2CD -7B87A16A748D6873896C74896A758B6A758B69748A69748A69748A69748A687389687389 -677288677288667187667187667187667187657086657086636F8764708863718C8A99B6 -9AAACB94A6CA94A8CD94A7CF93A5CD93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB91A3CB -8EA1CB8EA1CB8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C6CAD5B3B9CFB0B9DAACBBDCABBBD4ACBCD3ABB9D4AFB9DDACBAD7ACBAD7ACBAD7ACBAD7 -ABB9D6ABB9D6ABB9D6ABB9D6A9B8D7A9B8D7A9B8D7A8B7D6A8B7D6A8B7D6A8B7D6A8B7D6 -A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A5B5D6A3B3D4A7B6D5A1AFCA -77839D6A748D69748A6B738869748A69748A69748A69748A687389687389687389687389 -667187667187667187667187657086657086657086657086636F87647088616F8A8493B0 -99A9CA93A5C993A7CC93A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB90A2CA90A2CA -8DA0CA8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88B9EC88B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C5C9D4B2B8CEAFB8D9ACBBDCAABAD3ACBCD3AAB8D3AEB8DCACBAD7ACBAD7ABB9D6ABB9D6 -ABB9D6ABB9D6AAB8D5AAB8D5A8B7D8A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7A7B6D7A7B6D7 -A6B5D4A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A5B4D3A5B4D3A4B4D5A4B4D5A6B5D49BA9C4 -717D9769738C6A758B69718669748A69748A687389687389687389687389677288677288 -667187667187657086657086657086657086646F85646F856470886470885E6C877F8EAB -98A8C993A5C993A7CC91A4CC92A4CC92A4CC92A4CC91A3CB91A3CB90A2CA90A2CA90A2CA -8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88A9DC78A9DC78B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C5C9D4B2B8CEAFB8D9ACBBDCAABAD3ABBBD2AAB8D3AEB8DCABB9D6ABB9D6ABB9D6ABB9D6 -ABB9D6AAB8D5AAB8D5AAB8D5A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7A7B6D7A7B6D7A7B6D7 -A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A5B4D3A5B4D3A4B3D2A3B3D4A4B4D5A4B3D295A3BE -6B779167718A6A758B69718669748A687389687389687389687389677288677288677288 -667187657086657086657086657086646F85646F85646F85657189636F875D6B867C8BA8 -97A7C892A4C893A7CC91A4CC92A4CC92A4CC92A4CC91A3CB91A3CB90A2CA90A2CA8FA1C9 -8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88A9DC78A9DC78B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C5CCD4B1B9D0ACB6DAA9B6E0A7B7D8A9BAD4A7B6D3AAB7DAA8B7D8A8B7D8A8B7D8A8B7D8 -A8B7D8A8B7D8A8B7D8A8B7D8A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4 -A9B7DCA6B4D9A2B0D5A2B0D5A5B3D6A7B5D8A5B4D5A3B2D3ABB5CE9FA9C28B95AE77819A -68728B646E8768728B6D779068728B67718A67718A67718A67718A667089667089667089 -64708A64708A64708A64708A636F89636F89636F89636F8963718B5D6B855B6983677590 -7D8BA6909EB999A7C499A7C48BA1C88EA4CB90A6CD8FA5CE8BA1CA8AA0C98CA1CC8FA4CF -8FA0CC8E9FCB8D9ECA8C9DC98B9CC88C9DC98C9DC98D9ECA8B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C5CCD4B1B9D0ABB5D9A8B5DFA7B7D8A9BAD4A7B6D3AAB7DAA8B7D8A8B7D8A8B7D8A8B7D8 -A8B7D8A8B7D8A8B7D8A8B7D8A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A3B2D1A3B2D1 -A0AED3A5B3D8A8B6D9A6B4D7A1B0D19FAECFA3B2D3A8B7D8949EB7838DA6707A9368728B -6A748D6D77906A748D656F8867718A67718A67718A67718A67718A667089667089667089 -64708A64708A64708A64708A636F89636F89636F89636F89606E8862708A62708A606E89 -616F8A6C7A95808EAB8F9DBA92A6CB8FA3C88DA0C88EA1C990A3CB90A3CD8EA1CB8B9EC8 -8B9CC88B9CC88B9CC88B9CC88C9DC98C9DC98C9DC98C9DC98B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C4CBD3B0B8CFABB5D9A8B5DFA6B6D7A8B9D3A6B5D2A9B6D9A7B6D7A7B6D7A7B6D7A7B6D7 -A7B6D7A7B6D7A7B6D7A7B6D7A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A6B5D4A6B5D4A6B5D4 -ABB8DBA4B1D4A0ADCFA4B1D3A8B5D5A3B0D094A1C18593B0717B946C768F667089646E87 -67718A69738C69738C67718A67718A67718A67718A667089667089667089667089667089 -64708A64708A636F89636F89636F89636F89626E88626E885E6C86606E88606E885D6B86 -5967825C6A856573906E7C998498BB889CBF8CA0C38EA2C78CA0C58B9EC68B9EC68C9FC7 -8C9DC98D9ECA8D9ECA8E9FCB8D9ECA8C9DC98B9CC88B9CC88B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C4CBD3B0B8CFAAB4D8A7B4DEA5B5D6A7B8D2A6B5D2A8B5D8A6B5D6A6B5D6A6B5D6A6B5D6 -A6B5D6A6B5D6A6B5D6A6B5D6A5B4D3A5B4D3A5B4D3A5B4D3A4B3D2A4B3D2A5B4D3A5B4D3 -A4B1D3A7B4D4A9B6D6A5B2D299A7C48593B0717F9A64728D626C8567718A6A748D69738C -656F88646E876670896A748D667089667089667089667089667089656F88656F88656F88 -636F89636F89636F89636F89626E88626E88626E88626E885D6B855C6A845C6A845E6C87 -606E895F6D885B69865765825E71926D80A18093B48D9FC38FA1C58D9FC58B9DC38B9DC3 -8B9CC88B9CC88C9DC98C9DC98C9DC98B9CC88B9CC88A9BC78B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C3CAD2AFB7CEA9B3D7A6B3DDA5B5D6A7B8D2A5B4D1A8B5D8A5B4D5A5B4D5A5B4D5A5B4D5 -A5B4D5A5B4D5A5B4D5A5B4D5A4B3D2A5B4D3A5B4D3A4B3D2A4B3D2A3B2D1A1B0CFA1B0CF -A6B1CFA3AECC99A4C28691AD717C9865718B65718B69758F6A748D68728B68728B69738C -6A748D6A748D67718A646E87667089667089667089656F88656F88656F88656F88656F88 -636F89636F89626E88626E88626E88626E88616D87616D875F6D875F6D875F6D875E6C87 -5C6A855C6A855C6A875D6B885566845869876070916D7D9E7C8CAE8999BB90A0C292A2C6 -8A9BC78A9BC78A9BC78A9BC78A9BC78B9CC88B9CC88B9CC88B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C2C9D1AEB6CDA8B2D6A6B3DDA4B4D5A6B7D1A4B3D0A7B4D7A5B4D5A5B4D5A5B4D5A5B4D5 -A5B4D5A5B4D5A5B4D5A5B4D5A2B1D0A3B2D1A5B4D3A6B5D4A6B5D4A4B3D2A2B1D0A1B0CF -9AA5C18792AE6F7B95626E88626E8667738B69758D68748A6C768F69738C66708967718A -69738C6A748D667089636D86656F88656F88656F88656F88656F88646E87646E87646E87 -626E88626E88626E88626E88616D87616D87616D87616D87606E885F6D875E6C865C6A85 -5B69845A68835C6A875D6B885E6D8A5968855564815564835D6C8B6D7C9D7E8DAE8998B9 -8E9FCB8E9FCB8E9FCB8E9FCB8D9ECA8C9DC98B9CC88A9BC78B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C2C9D1ADB5CCA8B2D6A5B2DCA3B3D4A5B6D0A3B2CFA6B3D6A4B3D4A4B3D4A4B3D4A4B3D4 -A4B3D4A4B3D4A4B3D4A4B3D4A1B0CFA2B1D0A1B0CF9FAECD9BAAC994A3C28E9DBC8A99B8 -6C78926A769068748C6A768E6B778D6A768C667288626F8266708968728B68728B67718A -656F88646E87656F8867718A656F88656F88656F88646E87646E87646E87646E87646E87 -626E88626E88616D87616D87616D87616D87606C86606C865F6D875C6A845B69835C6A85 -5F6D885E6C875B69865765825866815C6A855F6D885C6A875866835966865F6C8C667393 -7B8CB87E8FBB8394C08899C58B9CC88C9DC98C9DC98B9CC88B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C1C8D0ADB5CCA8B2D6A5B2DCA3B3D4A5B6D0A3B2CFA6B3D6A4B3D4A4B3D4A4B3D4A4B3D4 -A4B3D4A4B3D4A4B3D4A4B3D4A3B2D1A1B0CF9CABCA92A1C08594B37685A4697897627190 -636F8764708865718965718764708665728566738668758867718A67718A667089667089 -656F88656F8866708967718A656F88656F88656F88646E87646E87646E87646E87636D86 -626E88616D87616D87616D87616D87606C86606C86606C865C6A845D6B855D6B855D6B86 -5C6A855B69845C6A875D6B885C6A845A6882586681576580576582576582566481546181 -5566925C6D99697AA67788B48293BF899AC68C9DC98D9ECA8B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C1CDCDAAB5D1A5B2DEA0B3D39BAFC8A4B4D6A5B3D6A1AFCAA1AED0A5B2D4A6B3D5A3B0D2 -A2AFD1A2AFD19DAACC96A3C5818BA47A849D707A9367718A626C85636D8667718A6A748D -68728B67718A67718A67718A67718A667089667089667089657189657189657189657189 -647088647088647088647088636F89636F89636F89626E88626E88626E88626E88616D87 -616C88606B87606B87606B87606B875F6A865F6A865F6A865C6A875C6A875B69865B6986 -5B69865B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885 -5A688557658254627F54627F59678463718E6E7C997583A08D9CC38B9AC18A99C08C9BC4 -8F9EC791A0CB8F9EC98C9BC68B9AC38797CA8FA1D38A9DC7899AC88C97CD99A4C4C3CED0 -C2CECEAAB5D1A2AFDB9FB2D29FB3CCA3B3D5A2B0D3A5B3CEA5B2D2A4B1D19EABCB929FBF -8592B27A87A7727F9F6D7A9A6B758E69738C68728B66708966708968728B69738C6B758E -67718A67718A67718A67718A67718A667089667089667089657189657189657189647088 -647088647088647088636F87636F89636F89626E88626E88626E88626E88616D87616D87 -606B87606B87606B87606B87606B875F6A865F6A865F6A865C6A875B69865B69865B6986 -5B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885 -5B69865A68855967845866835967845B69865D6B885E6C895E6E906575976F7FA37989AD -8190B78796BD8B9AC18E9DC6909FC68A9ACB8D9FCF899CC68C9DCB8C97CD96A1C1C2CDCF -C3CFCFA9B4D09FACD89FB2D2A0B4CDA2B2D4A0AED1A6B4CFA0AEC88C9AB474829C66748E -62708A62708A62708A62708A636D86646E87656F8867718A68728B68728B67718A67718A -67718A67718A67718A667089667089667089667089667089647088647088647088647088 -647088636F87636F87636F87626E88626E88626E88626E88616D87616D87616D87616D87 -606B87606B87606B875F6A865F6A865F6A865F6A865F6A865B69865B69865B69865B6986 -5B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885 -5967845967845A68855A6885596784586683566481556380546382566584576685586788 -5C6B8C69779A7C8AAD8A98BB90A0C48C9DCB8C9ECC889BC58FA0CE8D98CE929CBFC1CCCE -C4D0D0A6B1CDA0ADD99FB2D29DB1CAA2B2D4A0AED19CAAC57C889E6C788E5F6B815E6A80 -65718767738967738966728869738C68728B67718A67718A667089667089667089667089 -667089667089667089667089667089656F88656F88656F88647088647088647088636F87 -636F87636F87636F87636F87626E88626E88616D87616D87616D87616D87606C86606C86 -5F6A865F6A865F6A865F6A865F6A865E69855E69855E69855B69865B69865B69865B6986 -5A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885 -5A68855A68855967845967845967845A68855A68855B69865969835A6A84596983546380 -52617E566582606F8E6978978494B58B9CC88FA2CD879AC28FA0CE8E99CF919BBEC1CCD0 -C4D0D0A4AFCBA1AEDA9FB2D297ABC4A2B2D49EACCF8896B16370836471846976896D7A8D -6A778A637083626F8266738668728B67718A66708966708966708967718A68728B68728B -667089667089667089656F88656F88656F88656F88656F88636F87636F87636F87636F87 -636F87626E86626E86626E86616D87616D87616D87616D87606C86606C86606C86606C86 -5F6A865F6A865F6A865E69855E69855E69855E69855E69855B69865B69865B69865A6885 -5A68855A68855A68855967845A68855A68855A68855A68855A68855A68855A68855A6885 -5D6B885C6A875B69865A68855967845967845967845A68855967815B69835D6B855D6B86 -5B69845866815664815563806E7F9D8395BD91A4CE899DC28E9FCD8F9AD0949EC2C1CCD2 -C3CFCFA4AFCBA1AEDA9EB1D196AAC3A0B0D293A1C472809B69748A69748A69748A687389 -657086636E846570866A758B646E87646E87656F88667089667089656F88646E87646E87 -656F88656F88656F88656F88656F88646E87646E87646E87636F87636F87636F87626E86 -626E86626E86626E86626E86616D87616D87606C86606C86606C86606C865F6B855F6B85 -5E69855E69855E69855E69855E69855D68845D68845D68845B69865A68855A68855A6885 -5A68855967845967845967845A68855A68855A68855A68855A68855A68855A68855A6885 -5967845967845A68855A68855A68855967845765825765825A6882596781596781596782 -5B69845B69865A68855967845C6D877587AD8DA0C88A9EC18D9ECA8E99CF959FC3C2CDD3 -C2CECEA7B2CE9DAAD69BAECE9DB1CA9CACCE808EB162708B667089656F88646E87646E87 -67718A6A748D69738C656F88656F88656F88667089667089656F88646E87626C85616B84 -656F88656F88656F88646E87646E87646E87646E87646E87636F87626E86626E86626E86 -626E86616D85616D85616D85606C86606C86606C86606C865F6B855F6B855F6B855F6B85 -5E69855E69855E69855D68845D68845D68845D68845D68845A68855A68855A68855A6885 -5A68855967845967845967845A68855A68855A68855A68855A68855A68855A68855A6885 -5664815765825866835A68855A68855A68855967845967845765805866815A68835B6986 -5B69865B68885A678759668654667E65779B8296BB8B9FC28E9FCB8C97CD959FC3C3CDD6 -C1CDCDA9B4D099A6D298ABCBA4B8D199A9CB717FA25A6883646E8968728D69738E656F8A -636D88656F8A66708B656F8A667089656F88646E87646E87646E8766708967718A69738C -656F88656F88656F88646E87646E87646E87646E87636D86626E86626E86626E86626E86 -616D85616D85616D85616D85606C86606C86606C86606C865F6B855F6B855F6B855F6B85 -5E69855E69855E69855D68845D68845D68845D68845C67835A68855A68855A68855A6885 -5967845967845967845967845A68855A68855A68855A68855A68855A68855A68855A6885 -5D6B885C6A875A68855967845866835967845A68855B69865B66845D68865D68865C6787 -5964845963865C66895E688B54667C5A6D8E798DB28CA0C38FA0CC8A95CB939CC3C3CDD6 -C2C9DB9EA4C49EA6D4A0ABD99EAAD08B96B4666C8C6B6F95676F86676F86676F86676F86 -676F86676F86676F86676F86676E8A676E8A676E8A676E8A676E8A676E8A676E8A676E8A -666C8E666C8E666C8E666C8E666C8E656B8D656B8D656B8D646A8C646A8C646A8C63698B -63698B63698B63698B63698B62688C62688C61678B61678B61678B61678B61678B60668A -5D68865D68865D68865D68865D68865D68865D68865D68865B65885B65885B65885B6588 -5B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B6588 -5B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B6588 -5B65885B65885B65885B6588616A8B5C67856C7B9C909FCA929FD38A96C6919CBABECAD8 -C5CFD8A1ACC2A1ADD39FADD49CABCA8897AE646E87676E8B657086657086657086657086 -657086657086657086657086646E89646E89646E89646E89646E89646E89646E89646E89 -646E89636D88636D88636D88636D88626C87626C87626C87626C87626C87626C87616B86 -616B86616B86616B86616B86606A85606A85606A855F69845F69845F69845F69845E6883 -5A68825A68825A68825A68825A68825A68825A68825A6882596781596781596781596781 -596781596781596781596781596781596781596781596781596781596781596781596781 -596781596781596781596781596781596781596781596781596781596781596781596781 -59678159678159678159678159648056647E687993899BC18D9ECC8A99C291A0B7BDCCD3 -BFCDD09CACBC9CABCA97AACA94A8C08192A25F6F7F626D8362708A62708A62708A62708A -62708A62708A62708A62708A616F8A616F8A616F8A616F8A616F8A616F8A616F8A616F8A -617083617083606F82606F82606F82606F825F6E815F6E81606F825F6E815F6E815F6E81 -5F6E815E6D805E6D805E6D805E6D825E6D825D6C815D6C815D6C815D6C815C6B805C6B80 -5A6A815A6A815A6A815A6A815A6A815A6A815A6A815A6A815A6B7F5A6B7F5A6B7F5A6B7F -5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F -5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F -5A6B7F5A6B7F5A6B7F5A6B7F59687F58687F677B93879BBC8C9FCA8B9DC393A4B8BBCDD1 -C2D1D89DACC19BABCD98AACE95A9C4788A9E5D6C81616D875F6D875F6D875F6D875F6D87 -5F6D875F6D875F6D875F6D875E6C875E6C875E6C875E6C875E6C875E6C875E6C875E6C87 -5D6C835D6C835D6C835D6C835D6C835C6B825C6B825C6B825C6B825C6B825B6A815B6A81 -5B6A815B6A815A69805A69805A68825A68825A68825A6882596781596781596781596781 -566582566582566582566582566582566582566582566582576780576780576780576780 -576780576780576780576780576780576780576780576780576780576780576780576780 -576780576780576780576780576780576780576780576780576780576780576780576780 -57678057678057678057678058668354647E6275938598C08C9ECE8B9CC893A3BDBCCDD5 -C1CFDC99A7C297A6CF97A8D396A9CA72839D5D6B86667191637289637289637289637289 -637289637289637289637289616F89616F89616F89616F89616F89616F89616F89616F89 -616F8C616F8C616F8C616F8C606E8B606E8B606E8B606E8B5F6D8A5E6C895E6C895E6C89 -5E6C895D6B885D6B885D6B885D6A8A5D6A8A5D6A8A5D6A8A5C69895C69895C69895C6989 -5B688B5B688B5B688B5B688B5B688B5B688B5B688B5B688B5B68885B68885B68885B6888 -5B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B6888 -5B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B6888 -5B68885B68885B68885B68885E688C5461836171958495C38B9AD18997C88F9CBEBBC8D8 -C7D1DD9FA9C49BA7CF99A6D097A6C76E7C965E6883666C8C626D81626D81626D81626D81 -626D81626D81626D81626D81616C80616C80616C80616C80616C80616C80616C80616C80 -616A87616A87616A87616A876069866069866069866069865F68855F68855E67845E6784 -5E67845E67845D66835D66835E67865E67865D66855D66855D66855D66855C65845C6584 -5C65865C65865C65865C65865C65865C65865C65865C65865C65845C65845C65845C6584 -5C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C6584 -5C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C6584 -5C65845C65845C65845C65845F658557607D626F8F8592BC8F9BCD909BC998A1BEC2CCD8 -C1C9CBA2A9B99FA8C598A3C19AA6BC7884926E75857075896C73836C73836C73836C7383 -6C73836C73836C73836C73836B72826B72826B72826B72826B72826B72826B72826B7282 -6C73856C73856C73856B72846B72846B72846B72846B72846B72846B72846B72846B7284 -6A71836A71836A71836A71836A71846A71846A71846A7184697083697083697083697083 -697082697082697082697082697082697082697082697082697083697083697083697083 -697083697083697083697083697083697083697083697083697083697083697083697083 -697083697083697083697083697083697083697083697083697083697083697083697083 -697083697083697083697083696F7F676F7C6F7B8B8894AE8F99BC959EBD9BA3B0BAC3C0 -CFD5CBBBC3C6C5CCDEC4CFE1D6E3ECC9D3D5CBD3D6CED1DACFD5E3CFD5E3CFD5E3CFD5E3 -CFD5E3CFD5E3CFD5E3CFD5E3CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1 -CFD6DCCFD6DCCFD6DCCFD6DCCED5DBCED5DBCED5DBCED5DBD0D7DDD0D7DDD0D7DDCFD6DC -CFD6DCCFD6DCCFD6DCCFD6DCCFD6DECFD6DECFD6DECFD6DECED5DDCED5DDCED5DDCED5DD -D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D4DDD0D4DDD0D4DDD0D4DD -D0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DD -D0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DD -D0D4DDD0D4DDD0D4DDD0D4DDD1D5D6CFD5D5CBD5D6CED8E2C6CEE3C5CCDCC0C6C4D1D8C6 - -end -%%PageTrailer -%%Trailer -%%EOF diff --git a/examples/picture.jpg b/examples/picture.jpg deleted file mode 100644 index ef48e69..0000000 Binary files a/examples/picture.jpg and /dev/null differ diff --git a/examples/template-zh.pdf b/examples/template-zh.pdf deleted file mode 100644 index 16680e4..0000000 Binary files a/examples/template-zh.pdf and /dev/null differ diff --git a/examples/template-zh.tex b/examples/template-zh.tex deleted file mode 100644 index d18829c..0000000 --- a/examples/template-zh.tex +++ /dev/null @@ -1,131 +0,0 @@ -%% start of file `template-zh.tex'. -%% Copyright 2006-2011 Xavier Danaux (xdanaux@gmail.com). -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License version 1.3c, -% available at http://www.latex-project.org/lppl/. - - -\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman') - -% moderncv 主题 -\moderncvstyle{casual} % 选项参数是 ‘casual’, ‘classic’ 和 ’oldstyle’ -\moderncvcolor{blue} % 选项参数是 ‘blue’ (默认)、‘orange’、‘green’、‘red’、‘purple’ 和 ‘grey’ -%\nopagenumbers{} % 消除注释以取消自动页码生成功能 - -% 字符编码 -\usepackage[utf8]{inputenc} % 替换你正在使用的编码 -\usepackage{CJKutf8} - -% 调整页面出血 -\usepackage[scale=0.8]{geometry} -%\setlength{\hintscolumnwidth}{3cm} % 如果你希望改变日期栏的宽度 - -% 个人信息 -\firstname{小龙} -\familyname{李} -\title{简历题目 (可选项)} % 可选项、如不需要可删除本行 -\address{街道及门牌号}{邮编及城市} % 可选项、如不需要可删除本行 -\mobile{+1~(234)~567~890} % 可选项、如不需要可删除本行 -\phone{+2~(345)~678~901} % 可选项、如不需要可删除本行 -\fax{+3~(456)~789~012} % 可选项、如不需要可删除本行 -\email{xiaolong@li.com.cn} % 可选项、如不需要可删除本行 -\homepage{www.xialongli.com} % 可选项、如不需要可删除本行 -\extrainfo{附加信息 (可选项)} % 可选项、如不需要可删除本行 -\photo[64pt][0.4pt]{picture} % ‘64pt’是图片必须压缩至的高度、‘0.4pt‘是图片边框的宽度 (如不需要可调节至0pt)、’picture‘ 是图片文件的名字;可选项、如不需要可删除本行 -\quote{引言(可选项)} % 可选项、如不需要可删除本行 - -% 显示索引号;仅用于在简历中使用了引言 -%\makeatletter -%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}} -%\makeatother - -% 分类索引 -%\usepackage{multibib} -%\newcites{book,misc}{{Books},{Others}} -%---------------------------------------------------------------------------------- -% 内容 -%---------------------------------------------------------------------------------- -\begin{document} -\begin{CJK}{UTF8}{gbsn} % 详情参阅CJK文件包 -\maketitle - -\section{教育背景} -\cventry{年 -- 年}{学位}{院校}{城市}{\textit{成绩}}{说明} % 第3到第6编码可留白 -\cventry{年 -- 年}{学位}{院校}{城市}{\textit{成绩}}{说明} - -\section{毕业论文} -\cvitem{题目}{\emph{题目}} -\cvitem{导师}{导师} -\cvitem{说明}{\small 论文简介} - -\section{工作背景} -\subsection{专业} -\cventry{年 -- 年}{职位}{公司}{城市}{}{不超过1--2行的概况说明\newline{}% -工作内容:% -\begin{itemize}% -\item 工作内容 1; -\item 工作内容 2、 含二级内容: - \begin{itemize}% - \item 二级内容 (a); - \item 二级内容 (b)、含三级内容 (不建议使用); - \begin{itemize} - \item 三级内容 i; - \item 三级内容 ii; - \item 三级内容 iii; - \end{itemize} - \item 二级内容 (c); - \end{itemize} -\item 工作内容 3。 -\end{itemize}} -\cventry{年 -- 年}{职位}{公司}{城市}{}{说明行1\newline{}说明行2} -\subsection{其他} -\cventry{年 -- 年}{职位}{公司}{城市}{}{说明} - -\section{语言技能} -\cvitemwithcomment{语言 1}{水平}{评价} -\cvitemwithcomment{语言 2}{水平}{评价} -\cvitemwithcomment{语言 3}{水平}{评价} - -\section{计算机技能} -\cvdoubleitem{类别 1}{XXX, YYY, ZZZ}{类别 4}{XXX, YYY, ZZZ} -\cvdoubleitem{类别 2}{XXX, YYY, ZZZ}{类别 5}{XXX, YYY, ZZZ} -\cvdoubleitem{类别 3}{XXX, YYY, ZZZ}{类别 6}{XXX, YYY, ZZZ} - -\section{个人兴趣} -\cvitem{爱好 1}{\small 说明} -\cvitem{爱好 2}{\small 说明} -\cvitem{爱好 3}{\small 说明} - -\section{其他 1} -\cvlistitem{项目 1} -\cvlistitem{项目 2} -\cvlistitem{项目 3} - -\renewcommand{\listitemsymbol}{-} % 改变列表符号 - -\section{其他 2} -\cvlistdoubleitem{项目 1}{项目 4} -\cvlistdoubleitem{项目 2}{项目 5\cite{book1}} -\cvlistdoubleitem{项目 3}{} - -% 来自BibTeX文件但不使用multibib包的出版物 -%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}% BibTeX的数字标签 -\nocite{*} -\bibliographystyle{plain} -\bibliography{publications} % 'publications' 是BibTeX文件的文件名 - -% 来自BibTeX文件并使用multibib包的出版物 -%\section{出版物} -%\nocitebook{book1,book2} -%\bibliographystylebook{plain} -%\bibliographybook{publications} % 'publications' 是BibTeX文件的文件名 -%\nocitemisc{misc1,misc2,misc3} -%\bibliographystylemisc{plain} -%\bibliographymisc{publications} % 'publications' 是BibTeX文件的文件名 - -\clearpage\end{CJK} -\end{document} - - -%% 文件结尾 `template-zh.tex'. \ No newline at end of file diff --git a/examples/template.pdf b/examples/template.pdf deleted file mode 100644 index 0c6b837..0000000 Binary files a/examples/template.pdf and /dev/null differ diff --git a/examples/template.tex b/examples/template.tex deleted file mode 100644 index f55bcd2..0000000 --- a/examples/template.tex +++ /dev/null @@ -1,131 +0,0 @@ -%% start of file `template.tex'. -%% Copyright 2006-2011 Xavier Danaux (xdanaux@gmail.com). -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License version 1.3c, -% available at http://www.latex-project.org/lppl/. - - -\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman') - -% moderncv themes -\moderncvstyle{casual} % style options are 'casual' (default) and 'classic' -\moderncvcolor{blue} % color options 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black' -%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name -%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page - -% character encoding -\usepackage[utf8]{inputenc} % replace by the encoding you are using -%\usepackage{CJKutf8} % if you need to use CJK to typeset your resume in Chinese, Japanese or Korean - -% adjust the page margins -\usepackage[scale=0.8]{geometry} -%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates - -% personal data -\firstname{John} -\familyname{Doe} -\title{Resumé title (optional)} % optional, remove the line if not wanted -\address{street and number}{postcode city} % optional, remove the line if not wanted -\mobile{+1~(234)~567~890} % optional, remove the line if not wanted -\phone{+2~(345)~678~901} % optional, remove the line if not wanted -\fax{+3~(456)~789~012} % optional, remove the line if not wanted -\email{john@doe.org} % optional, remove the line if not wanted -\homepage{www.johndoe.com} % optional, remove the line if not wanted -\extrainfo{additional information} % optional, remove the line if not wanted -\photo[64pt][0.4pt]{picture} % '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file; optional, remove the line if not wanted -\quote{Some quote (optional)} % optional, remove the line if not wanted - -% to show numerical labels in the bibliography (default is to show no labels); only useful if you make citations in your resume -%\makeatletter -%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}} -%\makeatother - -% bibliography with mutiple entries -%\usepackage{multibib} -%\newcites{book,misc}{{Books},{Others}} -%---------------------------------------------------------------------------------- -% content -%---------------------------------------------------------------------------------- -\begin{document} -%\begin{CJK*}{UTF8}{gbsn} % to typeset your resume in Chinese using CJK -\maketitle - -\section{Education} -\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty -\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} - -\section{Master thesis} -\cvitem{title}{\emph{Title}} -\cvitem{supervisors}{Supervisors} -\cvitem{description}{Short thesis abstract} - -\section{Experience} -\subsection{Vocational} -\cventry{year--year}{Job title}{Employer}{City}{}{General description no longer than 1--2 lines.\newline{}% -Detailed achievements:% -\begin{itemize}% -\item Achievement 1; -\item Achievement 2, with sub-achievements: - \begin{itemize}% - \item Sub-achievement (a); - \item Sub-achievement (b), with sub-sub-achievements (don't do this!); - \begin{itemize} - \item Sub-sub-achievement i; - \item Sub-sub-achievement ii; - \item Sub-sub-achievement iii; - \end{itemize} - \item Sub-achievement (c); - \end{itemize} -\item Achievement 3. -\end{itemize}} -\cventry{year--year}{Job title}{Employer}{City}{}{Description line 1\newline{}Description line 2} -\subsection{Miscellaneous} -\cventry{year--year}{Job title}{Employer}{City}{}{Description} - -\section{Languages} -\cvitemwithcomment{Language 1}{Skill level}{Comment} -\cvitemwithcomment{Language 2}{Skill level}{Comment} -\cvitemwithcomment{Language 3}{Skill level}{Comment} - -\section{Computer skills} -\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ} -\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ} -\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ} - -\section{Interests} -\cvitem{hobby 1}{Description} -\cvitem{hobby 2}{Description} -\cvitem{hobby 3}{Description} - -\section{Extra 1} -\cvlistitem{Item 1} -\cvlistitem{Item 2} -\cvlistitem{Item 3} - -\renewcommand{\listitemsymbol}{-~} % change the symbol for lists - -\section{Extra 2} -\cvlistdoubleitem{Item 1}{Item 4} -\cvlistdoubleitem{Item 2}{Item 5\cite{book1}} -\cvlistdoubleitem{Item 3}{} - -% Publications from a BibTeX file without multibib\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}% for BibTeX numerical labels -\nocite{*} -\bibliographystyle{plain} -\bibliography{publications} % 'publications' is the name of a BibTeX file - -% Publications from a BibTeX file using the multibib package -%\section{Publications} -%\nocitebook{book1,book2} -%\bibliographystylebook{plain} -%\bibliographybook{publications} % 'publications' is the name of a BibTeX file -%\nocitemisc{misc1,misc2,misc3} -%\bibliographystylemisc{plain} -%\bibliographymisc{publications} % 'publications' is the name of a BibTeX file - -%\clearpage\end{CJK*} % if you are typesetting your resume in Chinese using CJK; the \clearpage is required for fancyhdr to work correctly with CJK, though it kills the page numbering by making \lastpage undefined -\end{document} - - -%% end of file `template.tex'. diff --git a/examples/template_casual_orange.pdf b/examples/template_casual_orange.pdf deleted file mode 100644 index 8545f9c..0000000 Binary files a/examples/template_casual_orange.pdf and /dev/null differ diff --git a/examples/template_classic_green.pdf b/examples/template_classic_green.pdf deleted file mode 100644 index 49b63a9..0000000 Binary files a/examples/template_classic_green.pdf and /dev/null differ diff --git a/examples/template_multibib.pdf b/examples/template_multibib.pdf deleted file mode 100644 index c56d272..0000000 Binary files a/examples/template_multibib.pdf and /dev/null differ diff --git a/manual/moderncv_userguide.pdf b/manual/moderncv_userguide.pdf index 16afdab..6c91c56 100644 Binary files a/manual/moderncv_userguide.pdf and b/manual/moderncv_userguide.pdf differ diff --git a/manual/moderncv_userguide.tex b/manual/moderncv_userguide.tex index 26d2016..e8b982b 100644 --- a/manual/moderncv_userguide.tex +++ b/manual/moderncv_userguide.tex @@ -1,462 +1,1099 @@ -%% moderncv_userguide.tex (compiled with pdfLaTeX) -%% Copyright 2007 Cristina Sambo +%% moderncv_userguide.tex as shipped with 2026-01-31 v2.5.1 modern curriculum vitae and letter document class (moderncv) +%% 2021 David Seus (cryptointerest@posteo.de), 2021-2026 moderncv maintainers (github.com/moderncv). % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, % available at http://www.latex-project.org/lppl/. -\documentclass[a4paper,11pt]{article} +\documentclass[a4paper, 11pt]{article} -\title{\bfseries Moderncv -- v. 0.6} -\author{Package by Xavier Danaux \\ \begin{small}Documentation by Cristina Sambo \end{small}} -\date{} +\title{% + \texttt{moderncv} User Guide\\ + {\small Package v2.5.1}% +} +% Cristina Sambo, +\author{% + Package by Xavier Danaux\\ + and\\ + moderncv community\\ + {\small Documentation by David Seus}% +} +\date{2026-01-31} -%language and encoding options +% Language and encoding options \usepackage[english]{babel} -\usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} +\usepackage{ifxetex, ifluatex} +\newif\ifxetexorluatex +\ifxetex + \xetexorluatextrue +\else + \ifluatex + \xetexorluatextrue + \else + \xetexorluatexfalse + \fi +\fi -%font options +% PDFLaTeX or LUALaTeX/XeLaTeX +\ifxetexorluatex + % \usepackage{luatextra} + % \usepackage{lualatex-math} + \usepackage{shellesc} % Fix a bug for lualatex shellescape + % \usepackage{unicode-math} + % \setmathfont{xits-math.otf} +\else + \usepackage[utf8]{inputenx} % Uncomment if using pdflatex, comment if using lualatex +\fi +\PassOptionsToPackage{T1}{fontenc} % T2A for Cyrillic +\usepackage[T1]{fontenc} + +% Font options \usepackage{txfonts} \usepackage{marvosym} \usepackage{pifont} -%margins, spacing and page layout -\usepackage[pdftex,colorlinks=true]{hyperref} %(hyperref must be loaded before geometry) -\usepackage[pdftex]{geometry} +% Margins, spacing and page layout +\usepackage[pdftex, colorlinks=true]{hyperref} % hyperref must be loaded before geometry +\usepackage[pdftex, marginparwidth=50pt]{geometry} \geometry{top=2.5cm, bottom=3cm} -\setlength{\parindent}{0pt} %(to soppress indentation when starting a new paragraph) -\frenchspacing %(to soppress additional space after a full stop) +\usepackage{parskip} % Replace paragraph indentation with vertical spacing +\frenchspacing % Suppress additional space after a full stop +\renewcommand{\arraystretch}{1.1} -%packages -\usepackage[pdftex]{graphicx} -\usepackage[pdftex]{xcolor} -\usepackage[labelfont=sl,font=small,width=0.9\textwidth]{caption} +% Packages +\usepackage{graphicx} +\usepackage{xcolor} +\usepackage[labelfont=sl, font=small, width=0.9\textwidth]{caption} \usepackage{marvosym} \usepackage{latexsym} +\usepackage{url} +\usepackage{scrhack} % Fix warnings when using KOMA with listings package +\usepackage{xspace} % Fix spacing after macros +\usepackage{mparhack} % Fix marginpar +\usepackage{microtype} +\usepackage{multicol} % Multicolumn text for long lists -%pdfLaTeX options -\pdfpagewidth=\paperwidth -\pdfpageheight=\paperheight -\pdfimageresolution=150 -\pdfinfo{ - /Title (Moderncv -- v. 0.6) - /Author (Cristina Sambo) - /Subject (Moderncv package user's guide) - /Keywords (curriculum vitae, LaTeX) +% Code listings +\usepackage{listings} +% \lstset{emph={trueIndex, root}, emphstyle=\color{BlueViolet}}% \underbar} % Special keywords +\lstset{% + language=[LaTeX]Tex, % C++, + morekeywords={PassOptionsToPackage, selectlanguage}, + keywordstyle=\color{cvblue}, % \bfseries, + basicstyle=\small\ttfamily, + % identifierstyle=\color{NavyBlue}, + commentstyle=\color{gray}\ttfamily, + stringstyle=\rmfamily, + numbers=none, % left, + numberstyle=\scriptsize, % \tiny + stepnumber=5, + numbersep=8pt, + showstringspaces=false, + breaklines=true, + % frameround=ftff, + % frame=single, + belowcaptionskip=0.75\baselineskip, + % frame=L, + emph={ + cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor, + cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers, + name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment, + recipient, subject, opening, closing, signature, enclosure + }, + emphstyle={\color{cvblue}}, + emph={[2] + familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel, + addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol, + xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol, mastodonsocialsymbol, codebergsocialsymbol, discordsocialsymbol, twitchsocialsymbol, youtubesocialsymbol, tiktoksocialsymbol, instagramsocialsymbol, soundcloudsocialsymbol, steamsocialsymbol, xboxsocialsymbol, playstationsocialsymbol, battlenetsocialsymbol, simplexsocialsymbol, threemasocialsymbol, + stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol, + researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol + }, + emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries}, + literate={{é}{{\'e}}1}, } -%my commands -\definecolor{bluecv}{rgb}{0.25,0.5,0.75} -\definecolor{greencv}{rgb}{0.55,0.85,0.35} -\definecolor{redcv}{rgb}{1.00,0.30,0.30} -\definecolor{orangecv}{rgb}{1,0.65,0.20} -\definecolor{greycv}{rgb}{0.75,0.75,0.75} +% Hyperlinks +\usepackage{hyperref} +\hypersetup{ + unicode=true, + % draft, % Draft mode for printing (see below) + colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV, + % colorlinks=false, linktocpage=false, pdfstartpage=3, pdfstartview=FitV, pdfborder={0 0 0}, % Black links (e.g., for printing) + breaklinks=true, pageanchor=true, + pdfpagemode=UseNone, + % pdfpagemode=UseOutlines, + plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1, + hypertexnames=true, pdfhighlight=/O, % nesting=true, frenchlinks, + urlcolor=cvblue, linkcolor=cvblue, citecolor=cvblue, % pagecolor=RoyalBlue, + % urlcolor=Black, linkcolor=Black, citecolor=Black, % pagecolor=Black, + % pdfborder={0 0 1}, % Width of PDF link border 0 0 1, 0 0 0 = colorlinks + % linkbordercolor=gray!15, + % citebordercolor=green!15, +} -%================== +% Colors +\definecolor{cvblue}{rgb}{0.22, 0.45, 0.70} +\definecolor{cvgreen}{rgb}{0.35, 0.70, 0.30} +\definecolor{cvred}{rgb}{0.95, 0.20, 0.20} +\definecolor{cvorange}{rgb}{0.95, 0.55, 0.15} +\definecolor{cvgrey}{rgb}{0.75, 0.75, 0.75} +\definecolor{cvburgundy}{rgb}{0.596078, 0, 0} % burgundy: 139/255 (0.545098) or 152/255 (0.596078) +\definecolor{cvgrey}{rgb}{0.55, 0.55, 0.55} +\definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80} + +% Macros +\newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}} +\newcommand{\todox}[1]{\textcolor{red}{[\textbf{TODO:} #1]}} +\newcommand{\note}{\paragraph{Note.}} +\newcommand{\code}[1]{\lstinline!#1!} +\newcommand{\moderncv}{\code{moderncv}} +\newcommand{\Moderncv}{\moderncv~} +\newcommand{\github}{GitHub} +\newcommand{\Github}{\github~} +\newcommand{\ctan}{CTAN} +\newcommand{\Ctan}{\ctan~} +\newcommand{\cvtemplate}{\code{template.tex}} +\newcommand{\Cvtemplate}{\cvtemplate~} +\newcommand{\Latex}{\LaTeX~} +\newcommand{\biblatex}{BibLaTeX} +\newcommand{\Biblatex}{\biblatex~} +\newcommand{\cvdoccolorbox}[1]{{\color{#1}\rule{4ex}{2ex}}} +\newcommand{\moderncvGithub}{\url{https://github.com/moderncv/moderncv}} +\newcommand{\moderncvCtan}{\url{https://ctan.org/pkg/moderncv}} + + + + + +% ================== % DOCUMENT BEGINNING -%================== +% ================== \begin{document} \maketitle - \begin{abstract} -\noindent \texttt{Moderncv}, as its author says in the readme file, provides a documentclass for typesetting modern curriculum vitaes in various styles. It is fairly customizable, allowing you to define your own style by changing the colors, the fonts, \dots\ and provides two default styles: classic and casual. + \noindent + The \Moderncv package provides a document class for typesetting modern curriculum vit\ae{} and cover letters in various styles. + Five predefined styles are available, each of which can be adjusted through various options for headings, footers and colors. + It is fairly customizable, allowing the user to adjust the look and feel of each style to their liking. + Several macros allow the user to add content to the CV and format it in a consistent way. + A letter of motivation consistent with the style is part of the template as well. \end{abstract} +\tableofcontents -\section{Introduction} -When I saw for the first time this class I was amazing: ``Here it is what I need'', I thought. Using the very clear examples, was easy to make my first curriculum. -Indeed the class is very simple to use, in this documentation I will only put together all the things to help users to have all on hand. -\smallskip -\texttt{Moderncv} requires the following packages: \texttt{ifthen}, \texttt{ifpdf}, \texttt{color}, \texttt{lmodern}, \texttt{marvosym}, \texttt{url}, \texttt{hyperref}, \texttt{longtable}, \texttt{graphicx}, \texttt{fancyhdr}, usually all just included in the \LaTeX\ distributions. -\section{In the preamble} +\section{Getting started} +\subsection{How to read this manual} +This manual is organized as follows. +The current section explains on how to get started with the \Moderncv package, i.e. how to install required packages. +% \emph{Note that it is assumed that you know how to install \Latex packages in case some are missing.} +Section \ref{section:moderncvTemplate} explains how to work with the \Moderncv template file step by step. +Section \ref{section:customization} details the customizations that the user can make: the different styles, their options, colors and tips and tricks. +Section \ref{section:implementationDetails} details the packages that \Moderncv uses, known problems and possible solutions to those problems. -At the very beginning of your preamble (that is the part before \verb|\begin{document}|) insert: +\subsection{Installation instructions} +If the \Moderncv package does not ship with your \Latex distribution or if the installed version is too old, grab the \Moderncv code from \Ctan or \github: -\begin{verbatim} -\documentclass[]{moderncv} -\end{verbatim} +\begin{tabular}{l} + \moderncvCtan \\% [.5ex] + \moderncvGithub +\end{tabular} -where the options are: +\note Depending on your \Latex distribution, you may have to install some additional packages. +Section \ref{section:implementationDetails:requiredPackages} lists all the packages that \Moderncv requires to be installed on your system. -\begin{description} - \item[paper size options:] \texttt{a4paper}, \texttt{a5paper}, \texttt{b5paper}, \texttt{letterpaper}, \texttt{legalpaper}, \texttt{ex\-ec\-u\-tive\-pa\-per}, \texttt{landscape} - \item[font size options:] \texttt{10pt}, \texttt{11pt}, \texttt{12pt} - \item[font option:] \texttt{nolmodern}, for people without the latin modern fonts - \item[color option:] \texttt{nocolor}, to have all in black and white - \item[draft/final options:] \texttt{draft}, \texttt{final} -\end{description} -The default options are: \texttt{a4paper}, \texttt{11pt}, \texttt{color}, \texttt{final}. -After the documentclass specification, choose the theme for your curriculum vit\ae: +\section{The \texttt{moderncv} template step by step} +This section is a quick reference to the \Moderncv package and should contain enough information to typeset a first working CV. +\label{section:moderncvTemplate} +The easiest way to get started with \Moderncv is to use the template that comes with the package. +If \Moderncv is part of your \Latex distribution, search for the folder \Moderncv on your system, which should contain all the files for the package. +In this folder, there should be a file called \cvtemplate. +If you downloaded the package from \Github or \ctan, look for \Cvtemplate in the folder of the newly downloaded (and possibly extracted) package. -\begin{verbatim} -\moderncvtheme[]{casual} -\end{verbatim} +\note If you downloaded \Moderncv from \Github or \Ctan and moved \Cvtemplate to another folder, make sure to adjust the \code{TEXINPUTS} variable to find the newly downloaded package. +Otherwise, either the package version provided by your \Latex distribution gets used or \Latex throws an error if there is no other version installed. -which is the default theme, or +Test your setup by compiling \Cvtemplate and looking at the result. -\begin{verbatim} -\moderncvtheme[]{classic} -\end{verbatim} +\note The \Moderncv package should compile with \code{pdflatex}, \code{lualatex} and \code{xelatex}. +However, not all icons are available when using \code{pdflatex}, so using either \code{lualatex} or \code{xelatex} \emph{is highly recommended.} -where the theme options are: +\subsection{Basic setup} +A document using the \Moderncv document class is set up like any other document class. +We will go through the template step by step. -\begin{description} - \item[color options:] you can choose between five color: - \begin{itemize} - \item[\texttt{blue}] {\color{bluecv}\rule{1cm}{2ex}} (default color) - \item[\texttt{green}] {\color{greencv}\rule{1cm}{2ex}} - \item[\texttt{red}] {\color{redcv}\rule{1cm}{2ex}} - \item[\texttt{orange}] {\color{orangecv}\rule{1cm}{2ex}} - \item[\texttt{grey}] {\color{greycv}\rule{1cm}{2ex}} - \end{itemize} - \item[roman option:] \texttt{roman}, for {\fontsize{11}{12} \usefont{T1}{lmr}{m}{n}\selectfont roman} fonts, instead of \fontsize{11}{12} \usefont{T1}{lmss}{m}{n}\selectfont sans serif fonts. -\end{description} +\subsubsection*{Configuring document class options} +The \Moderncv document class is loaded as per usual, by +\begin{lstlisting} + \documentclass[]{moderncv} +\end{lstlisting} +where at most one value for each option can be passed to the document class: -Then you have to specify the character encoding (utf8, latin1, and so on): +\begin{tabular}{r@{\hspace{2ex}}p{0.55\textwidth}} + \textbf{\code{paper}:} & \code{a4paper} (default), \code{a5paper}, \code{b5paper}, \code{letterpaper}, + \code{legalpaper}, \code{executivepaper}, \code{landscape} \\ + \textbf{\code{font family}:} & \code{sans}, \code{roman} \\ + \textbf{\code{font size}:} & \code{10pt}, \code{11pt} (default), \code{12pt} \\ + \textbf{\code{draft/final}:} & \code{draft}, \code{final} (default) +\end{tabular} -\begin{verbatim} -\usepackage[]{inputenc} -\end{verbatim} +\subsubsection*{Choosing a \texttt{moderncv} style and color} +Choose a \Moderncv style and color by adjusting the commands (command order is important!): +\begin{lstlisting} + \moderncvcolor{} + \moderncvstyle{