From 64f8e6a9e45c8b5338222dc76f834291228f68b0 Mon Sep 17 00:00:00 2001 From: Raymond Toy <toy.raymond@gmail.com> Date: Thu, 16 Apr 2015 20:25:33 -0700 Subject: [PATCH] Add asdf documentation. --- src/contrib/asdf/doc/asdf.html | 4661 ++++++++++++++++++++++++++++++++ src/contrib/asdf/doc/asdf.info | 4260 +++++++++++++++++++++++++++++ src/contrib/asdf/doc/asdf.pdf | Bin 0 -> 410573 bytes 3 files changed, 8921 insertions(+) create mode 100644 src/contrib/asdf/doc/asdf.html create mode 100644 src/contrib/asdf/doc/asdf.info create mode 100644 src/contrib/asdf/doc/asdf.pdf diff --git a/src/contrib/asdf/doc/asdf.html b/src/contrib/asdf/doc/asdf.html new file mode 100644 index 000000000..667b1c79a --- /dev/null +++ b/src/contrib/asdf/doc/asdf.html @@ -0,0 +1,4661 @@ +<html lang="en"> +<head> +<title>ASDF Manual</title> +<meta http-equiv="Content-Type" content="text/html"> +<meta name="description" content="ASDF Manual"> +<meta name="generator" content="makeinfo 4.13"> +<link title="Top" rel="top" href="#Top"> +<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> +<!-- +This manual describes ASDF, a system definition facility +for Common Lisp programs and libraries. + +You can find the latest version of this manual at +`http://common-lisp.net/project/asdf/asdf.html'. + +ASDF Copyright (C) 2001-2013 Daniel Barlow and contributors. + +This manual Copyright (C) 2001-2013 Daniel Barlow and contributors. + +This manual revised (C) 2009-2013 Robert P. Goldman and Francois-Rene Rideau. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.--> +<meta http-equiv="Content-Style-Type" content="text/css"> +<style type="text/css"><!-- + pre.display { font-family:inherit } + pre.format { font-family:inherit } + pre.smalldisplay { font-family:inherit; font-size:smaller } + pre.smallformat { font-family:inherit; font-size:smaller } + pre.smallexample { font-size:smaller } + pre.smalllisp { font-size:smaller } + span.sc { font-variant:small-caps } + span.roman { font-family:serif; font-weight:normal; } + span.sansserif { font-family:sans-serif; font-weight:normal; } +--></style> +</head> +<body> +<h1 class="settitle">ASDF Manual</h1> + <div class="contents"> +<h2>Table of Contents</h2> +<ul> +<li><a name="toc_Top" href="#Top">asdf: another system definition facility</a> +<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a> +<li><a name="toc_Loading-ASDF" href="#Loading-ASDF">2 Loading ASDF</a> +<ul> +<li><a href="#Loading-ASDF">2.1 Loading a pre-installed ASDF</a> +<li><a href="#Loading-ASDF">2.2 Checking whether ASDF is loaded</a> +<li><a href="#Loading-ASDF">2.3 Upgrading ASDF</a> +<li><a href="#Loading-ASDF">2.4 Loading an otherwise installed ASDF</a> +</li></ul> +<li><a name="toc_Configuring-ASDF" href="#Configuring-ASDF">3 Configuring ASDF</a> +<ul> +<li><a href="#Configuring-ASDF">3.1 Configuring ASDF to find your systems</a> +<li><a href="#Configuring-ASDF">3.2 Configuring ASDF to find your systems — old style</a> +<li><a href="#Configuring-ASDF">3.3 Configuring where ASDF stores object files</a> +<li><a href="#Using-ASDF">3.4 Resetting Configuration</a> +</li></ul> +<li><a name="toc_Using-ASDF" href="#Using-ASDF">4 Using ASDF</a> +<ul> +<li><a href="#Using-ASDF">4.1 Loading a system</a> +<li><a href="#Using-ASDF">4.2 Other Operations</a> +<li><a href="#Using-ASDF">4.3 Summary</a> +<li><a href="#Using-ASDF">4.4 Moving on</a> +</li></ul> +<li><a name="toc_Defining-systems-with-defsystem" href="#Defining-systems-with-defsystem">5 Defining systems with defsystem</a> +<ul> +<li><a href="#The-defsystem-form">5.1 The defsystem form</a> +<li><a href="#A-more-involved-example">5.2 A more involved example</a> +<li><a href="#The-defsystem-grammar">5.3 The defsystem grammar</a> +<ul> +<li><a href="#The-defsystem-grammar">5.3.1 Component names</a> +<li><a href="#The-defsystem-grammar">5.3.2 Component types</a> +<li><a href="#The-defsystem-grammar">5.3.3 System class names</a> +<li><a href="#The-defsystem-grammar">5.3.4 Defsystem depends on</a> +<li><a href="#The-defsystem-grammar">5.3.5 Weakly depends on</a> +<li><a href="#The-defsystem-grammar">5.3.6 Pathname specifiers</a> +<li><a href="#The-defsystem-grammar">5.3.7 Version specifiers</a> +<li><a href="#The-defsystem-grammar">5.3.8 Using logical pathnames</a> +<li><a href="#The-defsystem-grammar">5.3.9 Serial dependencies</a> +<li><a href="#The-defsystem-grammar">5.3.10 Source location</a> +<li><a href="#The-defsystem-grammar">5.3.11 if-feature option</a> +<li><a href="#The-defsystem-grammar">5.3.12 if-component-dep-fails option</a> +</li></ul> +<li><a href="#Other-code-in-_002easd-files">5.4 Other code in .asd files</a> +</li></ul> +<li><a name="toc_The-object-model-of-ASDF" href="#The-object-model-of-ASDF">6 The object model of ASDF</a> +<ul> +<li><a href="#Operations">6.1 Operations</a> +<ul> +<li><a href="#Predefined-operations-of-ASDF">6.1.1 Predefined operations of ASDF</a> +<li><a href="#Creating-new-operations">6.1.2 Creating new operations</a> +</li></ul> +<li><a href="#Components">6.2 Components</a> +<ul> +<li><a href="#Common-attributes-of-components">6.2.1 Common attributes of components</a> +<ul> +<li><a href="#Common-attributes-of-components">6.2.1.1 Name</a> +<li><a href="#Common-attributes-of-components">6.2.1.2 Version identifier</a> +<li><a href="#Common-attributes-of-components">6.2.1.3 Required features</a> +<li><a href="#Common-attributes-of-components">6.2.1.4 Dependencies</a> +<li><a href="#Common-attributes-of-components">6.2.1.5 pathname</a> +<li><a href="#Common-attributes-of-components">6.2.1.6 properties</a> +</li></ul> +<li><a href="#Pre_002ddefined-subclasses-of-component">6.2.2 Pre-defined subclasses of component</a> +<li><a href="#Creating-new-component-types">6.2.3 Creating new component types</a> +</li></ul> +<li><a href="#Functions">6.3 Functions</a> +</li></ul> +<li><a name="toc_Controlling-where-ASDF-searches-for-systems" href="#Controlling-where-ASDF-searches-for-systems">7 Controlling where ASDF searches for systems</a> +<ul> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.1 Configurations</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.2 Truenames and other dangers</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.3 XDG base directory</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.4 Backward Compatibility</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.5 Configuration DSL</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.6 Configuration Directories</a> +<ul> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.6.1 The :here directive</a> +</li></ul> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.7 Shell-friendly syntax for configuration</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.8 Search Algorithm</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.9 Caching Results</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.10 Configuration API</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.11 Status</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.12 Rejected ideas</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.13 TODO</a> +<li><a href="#Controlling-where-ASDF-searches-for-systems">7.14 Credits for the source-registry</a> +</li></ul> +<li><a name="toc_Controlling-where-ASDF-saves-compiled-files" href="#Controlling-where-ASDF-saves-compiled-files">8 Controlling where ASDF saves compiled files</a> +<ul> +<li><a href="#Controlling-where-ASDF-saves-compiled-files">8.1 Configurations</a> +<li><a href="#Controlling-where-ASDF-saves-compiled-files">8.2 Backward Compatibility</a> +<li><a href="#Controlling-where-ASDF-saves-compiled-files">8.3 Configuration DSL</a> +<li><a href="#Controlling-where-ASDF-saves-compiled-files">8.4 Configuration Directories</a> +<li><a href="#Controlling-where-ASDF-saves-compiled-files">8.5 Shell-friendly syntax for configuration</a> +<li><a href="#Controlling-where-ASDF-saves-compiled-files">8.6 Semantics of Output Translations</a> +<li><a href="#Controlling-where-ASDF-saves-compiled-files">8.7 Caching Results</a> +<li><a href="#Controlling-where-ASDF-saves-compiled-files">8.8 Output location API</a> +<li><a href="#Controlling-where-ASDF-saves-compiled-files">8.9 Credits for output translations</a> +</li></ul> +<li><a name="toc_Error-handling" href="#Error-handling">9 Error handling</a> +<ul> +<li><a href="#Error-handling">9.1 ASDF errors</a> +<li><a href="#Error-handling">9.2 Compilation error and warning handling</a> +</li></ul> +<li><a name="toc_Miscellaneous-additional-functionality" href="#Miscellaneous-additional-functionality">10 Miscellaneous additional functionality</a> +<ul> +<li><a href="#Miscellaneous-additional-functionality">10.1 Controlling file compilation</a> +<li><a href="#Miscellaneous-additional-functionality">10.2 Controlling source file character encoding</a> +<li><a href="#Miscellaneous-additional-functionality">10.3 Miscellaneous Functions</a> +<li><a href="#Miscellaneous-additional-functionality">10.4 Some Utility Functions</a> +</li></ul> +<li><a name="toc_Getting-the-latest-version" href="#Getting-the-latest-version">11 Getting the latest version</a> +<li><a name="toc_FAQ" href="#FAQ">12 FAQ</a> +<ul> +<li><a href="#FAQ">12.1 “Where do I report a bug?”</a> +<li><a href="#FAQ">12.2 “What has changed between ASDF 1 and ASDF 2?”</a> +<ul> +<li><a href="#FAQ">12.2.1 What are ASDF 1 and ASDF 2?</a> +<li><a href="#FAQ">12.2.2 ASDF can portably name files in subdirectories</a> +<li><a href="#FAQ">12.2.3 Output translations</a> +<li><a href="#FAQ">12.2.4 Source Registry Configuration</a> +<li><a href="#FAQ">12.2.5 Usual operations are made easier to the user</a> +<li><a href="#FAQ">12.2.6 Many bugs have been fixed</a> +<li><a href="#FAQ">12.2.7 ASDF itself is versioned</a> +<li><a href="#FAQ">12.2.8 ASDF can be upgraded</a> +<li><a href="#FAQ">12.2.9 Decoupled release cycle</a> +<li><a href="#FAQ">12.2.10 Pitfalls of the transition to ASDF 2</a> +</li></ul> +<li><a href="#FAQ">12.3 Issues with installing the proper version of ASDF</a> +<ul> +<li><a href="#FAQ">12.3.1 “My Common Lisp implementation comes with an outdated version of ASDF. What to do?”</a> +<li><a href="#FAQ">12.3.2 “I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?”</a> +</li></ul> +<li><a href="#FAQ">12.4 Issues with configuring ASDF</a> +<ul> +<li><a href="#FAQ">12.4.1 “How can I customize where fasl files are stored?”</a> +<li><a href="#FAQ">12.4.2 “How can I wholly disable the compiler output cache?”</a> +</li></ul> +<li><a href="#FAQ">12.5 Issues with using and extending ASDF to define systems</a> +<ul> +<li><a href="#FAQ">12.5.1 “How can I cater for unit-testing in my system?”</a> +<li><a href="#FAQ">12.5.2 “How can I cater for documentation generation in my system?”</a> +<li><a href="#FAQ">12.5.3 “How can I maintain non-Lisp (e.g. C) source files?”</a> +<li><a href="#FAQ">12.5.4 “I want to put my module's files at the top level. How do I do this?”</a> +<li><a href="#FAQ">12.5.5 How do I create a system definition where all the source files have a .cl extension?</a> +</li></ul> +</li></ul> +<li><a name="toc_TODO-list" href="#TODO-list">13 TODO list</a> +<ul> +<li><a href="#TODO-list">13.1 Outstanding spec questions, things to add</a> +<li><a href="#TODO-list">13.2 Missing bits in implementation</a> +</li></ul> +<li><a name="toc_Inspiration" href="#Inspiration">14 Inspiration</a> +<ul> +<li><a href="#Inspiration">14.1 mk-defsystem (defsystem-3.x)</a> +<li><a href="#Inspiration">14.2 defsystem-4 proposal</a> +<li><a href="#Inspiration">14.3 kmp's “The Description of Large Systems”, MIT AI Memo 801</a> +</li></ul> +<li><a name="toc_Concept-Index" href="#Concept-Index">Concept Index</a> +<li><a name="toc_Function-and-Class-Index" href="#Function-and-Class-Index">Function and Class Index</a> +<li><a name="toc_Variable-Index" href="#Variable-Index">Variable Index</a> +</li></ul> +</div> + + + +<!-- --> +<p><a name="Top"></a> + +<h2 class="unnumbered">asdf: another system definition facility</h2> + +<p>This manual describes ASDF, a system definition facility +for Common Lisp programs and libraries. + + <p>You can find the latest version of this manual at +<a href="http://common-lisp.net/project/asdf/asdf.html">http://common-lisp.net/project/asdf/asdf.html</a>. + + <p>ASDF Copyright © 2001-2013 Daniel Barlow and contributors. + + <p>This manual Copyright © 2001-2013 Daniel Barlow and contributors. + + <p>This manual revised © 2009-2013 Robert P. Goldman and Francois-Rene Rideau. + + <p>Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +“Software”), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + + <p>The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + + <p>THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +<!-- --> +<p><a name="Introduction"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">1 Introduction</h2> + +<p><a name="index-ASDF_002drelated-features-1"></a><a name="index-g_t_002afeatures_002a-2"></a><a name="index-Testing-for-ASDF-3"></a><a name="index-ASDF-versions-4"></a><a name="index-g_t_003aasdf-5"></a><a name="index-g_t_003aasdf2-6"></a><a name="index-g_t_003aasdf3-7"></a> +ASDF is Another System Definition Facility: +a tool for specifying how systems of Common Lisp software +are comprised of components (sub-systems and files), +and how to operate on these components in the right order +so that they can be compiled, loaded, tested, etc. + + <p>ASDF presents three faces: +one for users of Common Lisp software who want to reuse other people's code, +one for writers of Common Lisp software who want to specify how to build their systems, +one for implementers of Common Lisp extensions who want to extend the build system. +See <a href="#Using-ASDF">Loading a system</a>, +to learn how to use ASDF to load a system. +See <a href="#Defining-systems-with-defsystem">Defining systems with defsystem</a>, +to learn how to define a system of your own. +See <a href="#The-object-model-of-ASDF">The object model of ASDF</a>, for a description of +the ASDF internals and how to extend ASDF. + + <p><em>Nota Bene</em>: +We have released ASDF 2.000 on May 31st 2010, +and ASDF 3.0 on January 31st 2013. +Releases of ASDF 2 and later have since then been included +in all actively maintained CL implementations that used to bundle ASDF 1, +plus some implementations that didn't use to, +and has been made to work with all actively used CL implementations and a few more. +See <a href="#FAQ">“What has changed between ASDF 1 and ASDF 2?”</a>. +Furthermore, it is possible to upgrade from ASDF 1 to ASDF 2 or ASDF 3 on the fly. +For this reason, we have stopped supporting ASDF 1 and ASDF 2. +If you are using ASDF 1 or ASDF 2 and are experiencing any kind of issues or limitations, +we recommend you upgrade to ASDF 3 +— and we explain how to do that. See <a href="#Loading-ASDF">Loading ASDF</a>. + + <p>Also note that ASDF is not to be confused with ASDF-Install. +ASDF-Install is not part of ASDF, but a separate piece of software. +ASDF-Install is also unmaintained and obsolete. +We recommend you use Quicklisp instead, +which works great and is being actively maintained. +If you want to download software from version control instead of tarballs, +so you may more easily modify it, we recommend clbuild. + +<p><a name="Loading-ASDF"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">2 Loading ASDF</h2> + +<p><a name="index-g_t_002acentral_002dregistry_002a-8"></a><a name="index-link-farm-9"></a><a name="index-load_002dsystem-10"></a><a name="index-require_002dsystem-11"></a><a name="index-compile_002dsystem-12"></a><a name="index-test_002dsystem-13"></a><a name="index-system-directory-designator-14"></a><a name="index-operate-15"></a><a name="index-oos-16"></a> +<!-- @menu --> +<!-- * Installing ASDF:: --> +<!-- @end menu --> + +<h3 class="section">2.1 Loading a pre-installed ASDF</h3> + +<p>Most recent Lisp implementations include a copy of ASDF 2, and soon ASDF 3. +You can usually load this copy using Common Lisp's <code>require</code> function: + +<pre class="lisp"> (require "asdf") +</pre> + <p>As of the writing of this manual, +the following implementations provide ASDF 2 this way: +abcl allegro ccl clisp cmucl ecl lispworks mkcl sbcl xcl. +The following implementation doesn't provide it yet but will in an upcoming release: +scl. +The following implementations are obsolete, not actively maintained, +and most probably will never bundle it: +cormanlisp gcl genera mcl. + + <p>If the implementation you are using doesn't provide ASDF 2 or ASDF 3, +see see <a href="#Loading-ASDF">Loading an otherwise installed ASDF</a> below. +If that implementation is still actively maintained, +you may also send a bug report to your Lisp vendor and complain +about their failing to provide ASDF. + + <p>NB: all implementations except clisp also accept +<code>(require "ASDF")</code>, <code>(require 'asdf)</code> and <code>(require :asdf)</code>. +For portability's sake, you probably want to use <code>(require "asdf")</code>. + +<h3 class="section">2.2 Checking whether ASDF is loaded</h3> + +<p>To check whether ASDF is properly loaded in your current Lisp image, +you can run this form: + +<pre class="lisp"> (asdf:asdf-version) +</pre> + <p>If it returns a string, +that is the version of ASDF that is currently installed. + + <p>If it raises an error, +then either ASDF is not loaded, or +you are using an old version of ASDF. + + <p>You can check whether an old version is loaded +by checking if the ASDF package is present. +The form below will allow you to programmatically determine +whether a recent version is loaded, an old version is loaded, +or none at all: + +<pre class="lisp"> (when (find-package :asdf) + (let ((ver (symbol-value (or (find-symbol (string :*asdf-version*) :asdf) + (find-symbol (string :*asdf-revision*) :asdf))))) + (etypecase ver + (string ver) + (cons (with-output-to-string (s) + (loop for (n . m) on ver do (princ n s) (when m (princ "." s))))) + (null "1.0")))) +</pre> + <p>If it returns <code>nil</code> then ASDF is not installed. +Otherwise it should return a string. +If it returns <code>"1.0"</code>, then it can actually be +any version before 1.77 or so, or some buggy variant of 1.x. + + <p>If you are experiencing problems with ASDF, +please try upgrading to the latest released version, +using the method below, +before you contact us and raise an issue. + +<h3 class="section">2.3 Upgrading ASDF</h3> + +<p>If your implementation provides ASDF 3 or later, +you only need to <code>(require "asdf")</code>: +ASDF will automatically look whether an updated version of itself is available +amongst the regularly configured systems, before it compiles anything else. +See see <a href="#Configuring-ASDF">Configuring ASDF</a> below. + + <p>If your implementation does provide ASDF 2 or later, +but not ASDF 3 or later, +and you want to upgrade to a more recent version, +you need to install and configure your ASDF as above, +and additionally, you need to explicitly tell ASDF to load itself, +right after you require your implementation's old ASDF 2: + +<pre class="lisp"> (require "asdf") + (asdf:load-system :asdf) +</pre> + <p>If on the other hand, your implementation only provides an old ASDF, +you will require a special configuration step and an old-style loading. +Take special attention to not omit the trailing directory separator +<code>/</code> at the end of your pathname: + +<pre class="lisp"> (require "asdf") + (push #p"<var>/path/to/new/asdf/</var>" asdf:*central-registry*) + (asdf:oos 'asdf:load-op :asdf) +</pre> + <p>Note that ASDF 1 won't redirect its output files, +or at least won't do it according to your usual ASDF 2 configuration. +You therefore need write access on the directory +where you install the new ASDF, +and make sure you're not using it +for multiple mutually incompatible implementations. +At worst, you may have to have multiple copies of the new ASDF, +e.g. one per implementation installation, to avoid clashes. +Note that to our knowledge all implementations that provide ASDF +provide ASDF 2 in their latest release, so +you may want to upgrade your implementation rather than go through that hoop. + + <p>Finally, if you are using an unmaintained implementation +that does not provide ASDF at all, +see see <a href="#Loading-ASDF">Loading an otherwise installed ASDF</a> below. + + <p>Note that there are some limitations to upgrading ASDF: + <ul> +<li>Previously loaded ASDF extension becomes invalid, and will need to be reloaded. +This applies to e.g. CFFI-Grovel, or to hacks used by ironclad, etc. +Since it isn't possible to automatically detect what extensions are present +that need to be invalidated, +ASDF will actually invalidate all previously loaded systems +when it is loaded on top of a different ASDF version, +starting with ASDF 2.014.8 (as far as releases go, 2.015); +and it will automatically attempt this self-upgrade as its very first step +starting with ASDF 3. + + <li>For this an many other reasons, +it important reason to load, configure and upgrade ASDF (if needed) +as one of the very first things done by your build and startup scripts. +Until all implementations provide ASDF 3 or later, +it is safer if you upgrade ASDF and its extensions as a special step +at the very beginning of whatever script you are running, +before you start using ASDF to load anything else; +even afterwards, it is still a good idea, to avoid having to +load and reload code twice as it gets invalidated. + + <li>Until all implementations provide ASDF 3 or later, +it is unsafe to upgrade ASDF as part of loading a system +that depends on a more recent version of ASDF, +since the new one might shadow the old one while the old one is running, +and the running old one will be confused +when extensions are loaded into the new one. +In the meantime, we recommend that your systems should <em>not</em> specify +<code>:depends-on (:asdf)</code>, or <code>:depends-on ((:version :asdf "2.010"))</code>, +but instead that they check that a recent enough ASDF is installed, +with such code as: + <pre class="example"> (unless (or #+asdf2 (asdf:version-satisfies + (asdf:asdf-version) *required-asdf-version*)) + (error "FOO requires ASDF ~A or later." *required-asdf-version*)) +</pre> + <li>Until all implementations provide ASDF 3 or later, +it is unsafe for a system to transitively depend on ASDF +and not directly depend on ASDF; +if any of the system you use either depends-on asdf, +system-depends-on asdf, or transitively does, +you should also do as well. +</ul> + +<h3 class="section">2.4 Loading an otherwise installed ASDF</h3> + +<p>If your implementation doesn't include ASDF, +if for some reason the upgrade somehow fails, +does not or cannot apply to your case, +you will have to install the file <samp><span class="file">asdf.lisp</span></samp> +somewhere and load it with: + +<pre class="lisp"> (load "/path/to/your/installed/asdf.lisp") +</pre> + <p>The single file <samp><span class="file">asdf.lisp</span></samp> is all you normally need to use ASDF. + + <p>You can extract this file from latest release tarball on the +<a href="http://common-lisp.net/project/asdf/">ASDF website</a>. +If you are daring and willing to report bugs, you can get +the latest and greatest version of ASDF from its git repository. +See <a href="#Getting-the-latest-version">Getting the latest version</a>. + + <p>For maximum convenience you might want to have ASDF loaded +whenever you start your Lisp implementation, +for example by loading it from the startup script or dumping a custom core +— check your Lisp implementation's manual for details. + +<p><a name="Configuring-ASDF"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">3 Configuring ASDF</h2> + +<h3 class="section">3.1 Configuring ASDF to find your systems</h3> + +<p>So it may compile and load your systems, ASDF must be configured to find +the <samp><span class="file">.asd</span></samp> files that contain system definitions. + + <p>Since ASDF 2, the preferred way to configure where ASDF finds your systems is +the <code>source-registry</code> facility, +fully described in its own chapter of this manual. +See <a href="#Controlling-where-ASDF-searches-for-systems">Controlling where ASDF searches for systems</a>. + + <p>The default location for a user to install Common Lisp software is under +<samp><span class="file">~/.local/share/common-lisp/source/</span></samp>. +If you install software there (it can be a symlink), +you don't need further configuration. +If you're installing software yourself at a location that isn't standard, +you have to tell ASDF where you installed it. See below. +If you're using some tool to install software (e.g. Quicklisp), +the authors of that tool should already have configured ASDF. + + <p>The simplest way to add a path to your search path, +say <samp><span class="file">/home/luser/.asd-link-farm/</span></samp> +is to create the directory +<samp><span class="file">~/.config/common-lisp/source-registry.conf.d/</span></samp> +and there create a file with any name of your choice, +and with the type <samp><span class="file">conf</span></samp>, +for instance <samp><span class="file">42-asd-link-farm.conf</span></samp> +containing the line: + + <p><kbd>(:directory "/home/luser/.asd-link-farm/")</kbd> + + <p>If you want all the subdirectories under <samp><span class="file">/home/luser/lisp/</span></samp> +to be recursively scanned for <samp><span class="file">.asd</span></samp> files, instead use: + + <p><kbd>(:tree "/home/luser/lisp/")</kbd> + + <p>Note that your Operating System distribution or your system administrator +may already have configured system-managed libraries for you. + + <p>The required <samp><span class="file">.conf</span></samp> extension allows you to have disabled files +or editor backups (ending in <samp><span class="file">~</span></samp>), and works portably +(for instance, it is a pain to allow both empty and non-empty extension on CLISP). +Excluded are files the name of which start with a <samp><span class="file">.</span></samp> character. +It is customary to start the filename with two digits +that specify the order in which the directories will be scanned. + + <p>ASDF will automatically read your configuration +the first time you try to find a system. +You can reset the source-registry configuration with: + +<pre class="lisp"> (asdf:clear-source-registry) +</pre> + <p>And you probably should do so before you dump your Lisp image, +if the configuration may change +between the machine where you save it at the time you save it +and the machine you resume it at the time you resume it. +Actually, you should use <code>(asdf:clear-configuration)</code> +before you dump your Lisp image, which includes the above. + +<h3 class="section">3.2 Configuring ASDF to find your systems — old style</h3> + +<p>The old way to configure ASDF to find your systems is by +<code>push</code>ing directory pathnames onto the variable +<code>asdf:*central-registry*</code>. + + <p>You must configure this variable between the time you load ASDF +and the time you first try to use it. +Loading and configuring ASDF presumably happen +as part of some initialization script that builds or starts +your Common Lisp software system. +(For instance, some SBCL users used to put it in their <samp><span class="file">~/.sbclrc</span></samp>.) + + <p>The <code>asdf:*central-registry*</code> is empty by default in ASDF 2 or ASDF 3, +but is still supported for compatibility with ASDF 1. +When used, it takes precedence over the above source-registry<a rel="footnote" href="#fn-1" name="fnd-1"><sup>1</sup></a>. + + <p>For instance, if you wanted ASDF to find the <samp><span class="file">.asd</span></samp> file +<samp><span class="file">/home/me/src/foo/foo.asd</span></samp> your initialization script +could after it loads ASDF with <code>(require "asdf")</code> +configure it with: + +<pre class="lisp"> (push "/home/me/src/foo/" asdf:*central-registry*) +</pre> + <p>Note the trailing slash: when searching for a system, +ASDF will evaluate each entry of the central registry +and coerce the result to a pathname<a rel="footnote" href="#fn-2" name="fnd-2"><sup>2</sup></a> +at which point the presence of the trailing directory name separator +is necessary to tell Lisp that you're discussing a directory +rather than a file. + + <p>Typically, however, there are a lot of <samp><span class="file">.asd</span></samp> files, and +a common idiom was to have to put +a bunch of <em>symbolic links</em> to <samp><span class="file">.asd</span></samp> files +in a common directory +and push <em>that</em> directory (the “link farm”) +to the +<code>asdf:*central-registry*</code> +instead of pushing each of the many involved directories +to the <code>asdf:*central-registry*</code>. +ASDF knows how to follow such <em>symlinks</em> +to the actual file location when resolving the paths of system components +(on Windows, you can use Windows shortcuts instead of POSIX symlinks; +if you try aliases under MacOS, we are curious to hear about your experience). + + <p>For example, if <code>#p"/home/me/cl/systems/"</code> (note the trailing slash) +is a member of <code>*central-registry*</code>, you could set up the +system <var>foo</var> for loading with asdf with the following +commands at the shell: + +<pre class="example"> $ cd /home/me/cl/systems/ + $ ln -s ~/src/foo/foo.asd . +</pre> + <p>This old style for configuring ASDF is not recommended for new users, +but it is supported for old users, and for users who want to programmatically +control what directories are added to the ASDF search path. + +<h3 class="section">3.3 Configuring where ASDF stores object files</h3> + +<p><a name="index-clear_002doutput_002dtranslations-17"></a> +ASDF lets you configure where object files will be stored. +Sensible defaults are provided and +you shouldn't normally have to worry about it. + + <p>This allows the same source code repository may be shared +between several versions of several Common Lisp implementations, +between several users using different compilation options +and without write privileges on shared source directories, etc. +This also allows to keep source directories uncluttered +by plenty of object files. + + <p>Starting with ASDF 2, the <code>asdf-output-translations</code> facility +was added to ASDF itself, that controls where object files will be stored. +This facility is fully described in a chapter of this manual, +<a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a>. + + <p>The simplest way to add a translation to your search path, +say from <samp><span class="file">/foo/bar/baz/quux/</span></samp> +to <samp><span class="file">/where/i/want/my/fasls/</span></samp> +is to create the directory +<samp><span class="file">~/.config/common-lisp/asdf-output-translations.conf.d/</span></samp> +and there create a file with any name of your choice and the type <samp><span class="file">conf</span></samp>, +for instance <samp><span class="file">42-bazquux.conf</span></samp> +containing the line: + + <p><kbd>("/foo/bar/baz/quux/" "/where/i/want/my/fasls/")</kbd> + + <p>To disable output translations for source under a given directory, +say <samp><span class="file">/toto/tata/</span></samp> +you can create a file <samp><span class="file">40-disable-toto.conf</span></samp> +with the line: + + <p><kbd>("/toto/tata/")</kbd> + + <p>To wholly disable output translations for all directories, +you can create a file <samp><span class="file">00-disable.conf</span></samp> +with the line: + + <p><kbd>(t t)</kbd> + + <p>Note that your Operating System distribution or your system administrator +may already have configured translations for you. +In absence of any configuration, the default is to redirect everything +under an implementation-dependent subdirectory of <samp><span class="file">~/.cache/common-lisp/</span></samp>. +See <a href="#Controlling-where-ASDF-searches-for-systems">Controlling where ASDF searches for systems</a>, for full details. + + <p>The required <samp><span class="file">.conf</span></samp> extension allows you to have disabled files +or editor backups (ending in <samp><span class="file">~</span></samp>), and works portably +(for instance, it is a pain to allow both empty and non-empty extension on CLISP). +Excluded are files the name of which start with a <samp><span class="file">.</span></samp> character. +It is customary to start the filename with two digits +that specify the order in which the directories will be scanned. + + <p>ASDF will automatically read your configuration +the first time you try to find a system. +You can reset the source-registry configuration with: + +<pre class="lisp"> (asdf:clear-output-translations) +</pre> + <p>And you probably should do so before you dump your Lisp image, +if the configuration may change +between the machine where you save it at the time you save it +and the machine you resume it at the time you resume it. +(Once again, you should use <code>(asdf:clear-configuration)</code> +before you dump your Lisp image, which includes the above.) + + <p>Finally note that before ASDF 2, +other ASDF add-ons offered the same functionality, +each in subtly different and incompatible ways: +ASDF-Binary-Locations, cl-launch, common-lisp-controller. +ASDF-Binary-Locations is now not needed anymore and should not be used. +cl-launch 3.000 and common-lisp-controller 7.2 have been updated +to just delegate this functionality to ASDF. + +<p><a name="Using-ASDF"></a> + +<!-- node-name, next, previous, up --> +<h3 class="section">3.4 Resetting Configuration</h3> + +<p>When you dump and restore an image, or when you tweak your configuration, +you may want to reset the ASDF configuration. +For that you may use the following function: + +<div class="defun"> +— Function: <b>clear-configuration</b><var><a name="index-clear_002dconfiguration-18"></a></var><br> +<blockquote><p> undoes any ASDF configuration, + regarding source-registry or output-translations. +</p></blockquote></div> + + <p>If you use SBCL, CMUCL or SCL, you may use this snippet +so that the ASDF configuration be cleared automatically as you dump an image: + +<pre class="example"> #+(or cmu sbcl scl) + (pushnew 'clear-configuration + #+(or cmu scl) ext:*before-save-initializations* + #+sbcl sb-ext:*save-hooks*) +</pre> + <p>For compatibility with all Lisp implementations, however, +you might want instead your build script to explicitly call +<code>(asdf:clear-configuration)</code> at an appropriate moment before dumping. + +<h2 class="chapter">4 Using ASDF</h2> + +<h3 class="section">4.1 Loading a system</h3> + +<p>The system <var>foo</var> is loaded (and compiled, if necessary) +by evaluating the following Lisp form: + +<pre class="example"> (asdf:load-system :<var>foo</var>) +</pre> + <p>On some implementations (namely recent versions of +ABCL, Allegro CL, Clozure CL, CMUCL, ECL, GNU CLISP, +LispWorks, MKCL, SBCL and XCL), +ASDF hooks into the <code>CL:REQUIRE</code> facility +and you can just use: + +<pre class="example"> (require :<var>foo</var>) +</pre> + <p>In older versions of ASDF, you needed to use +<code>(asdf:oos 'asdf:load-op :</code><var>foo</var><code>)</code>. +If your ASDF is too old to provide <code>asdf:load-system</code> though +we recommend that you upgrade to ASDF 3. +See <a href="#Loading-ASDF">Loading an otherwise installed ASDF</a>. + + <p>Note the name of a system is specified as a string or a symbol, +typically a keyword. +If a symbol (including a keyword), its name is taken and lowercased. +The name must be a suitable value for the <code>:name</code> initarg +to <code>make-pathname</code> in whatever filesystem the system is to be found. +The lower-casing-symbols behaviour is unconventional, +but was selected after some consideration. +Observations suggest that the type of systems we want to support +either have lowercase as customary case (unix, mac, windows) +or silently convert lowercase to uppercase (lpns), +so this makes more sense than attempting to use <code>:case :common</code>, +which is reported not to work on some implementations + +<h3 class="section">4.2 Other Operations</h3> + +<p>ASDF provides three commands for the most common system operations: +<code>load-system</code>, <code>compile-system</code> or <code>test-system</code>. +It also provides <code>require-system</code>, a version of <code>load-system</code> +that skips trying to update systems that are already loaded. + + <p>Because ASDF is an extensible system +for defining <em>operations</em> on <em>components</em>, +it also provides a generic function <code>operate</code> +(which is usually abbreviated by <code>oos</code>). +You'll use <code>oos</code> whenever you want to do something beyond +compiling, loading and testing. + + <p>Output from ASDF and ASDF extensions are supposed to be sent +to the CL stream <code>*standard-output*</code>, +and so rebinding that stream around calls to <code>asdf:operate</code> +should redirect all output from ASDF operations. + + <p>Reminder: before ASDF can operate on a system, however, +it must be able to find and load that system's definition. +See <a href="#Configuring-ASDF">Configuring ASDF to find your systems</a>. + + <p><a name="index-already_002dloaded_002dsystems-19"></a> +For the advanced users, note that +<code>require-system</code> calls <code>load-system</code> +with keyword arguments <code>:force-not (already-loaded-systems)</code>. +<code>already-loaded-systems</code> returns a list of the names of loaded systems. +<code>load-system</code> applies <code>operate</code> with the operation from +<code>*load-system-operation*</code>, which by default is <code>load-op</code>, +the system, and any provided keyword arguments. + +<h3 class="section">4.3 Summary</h3> + +<p>To use ASDF: + + <ul> +<li>Load ASDF itself into your Lisp image, either through +<code>(require "asdf")</code> or else through +<code>(load "/path/to/asdf.lisp")</code>. + + <li>Make sure ASDF can find system definitions +thanks to proper source-registry configuration. + + <li>Load a system with <code>(asdf:load-system :my-system)</code> +or use some other operation on some system of your choice. + + </ul> + +<h3 class="section">4.4 Moving on</h3> + +<p>That's all you need to know to use ASDF to load systems written by others. +The rest of this manual deals with writing system definitions +for Common Lisp software you write yourself, +including how to extend ASDF to define new operation and component types. + +<p><a name="Defining-systems-with-defsystem"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">5 Defining systems with defsystem</h2> + +<p>This chapter describes how to use asdf to define systems and develop +software. + +<p><a name="The-defsystem-form"></a> + +<!-- node-name, next, previous, up --> +<h3 class="section">5.1 The defsystem form</h3> + +<p>Systems can be constructed programmatically +by instantiating components using <code>make-instance</code>. +Most of the time, however, it is much more practical to use +a static <code>defsystem</code> form. +This section begins with an example of a system definition, +then gives the full grammar of <code>defsystem</code>. + + <p>Let's look at a simple system. +This is a complete file that would +usually be saved as <samp><span class="file">hello-lisp.asd</span></samp>: + +<pre class="lisp"> (in-package :asdf) + + (defsystem "hello-lisp" + :description "hello-lisp: a sample Lisp system." + :version "0.2.1" + :author "Joe User <joe@example.com>" + :licence "Public Domain" + :components ((:file "packages") + (:file "macros" :depends-on ("packages")) + (:file "hello" :depends-on ("macros")))) +</pre> + <p>Some notes about this example: + + <ul> +<li>The file starts with an <code>in-package</code> form +to use package <code>asdf</code>. +You could instead start your definition by using +a qualified name <code>asdf:defsystem</code>. + + <li>If in addition to simply using <code>defsystem</code>, +you are going to define functions, +create ASDF extension, globally bind symbols, etc., +it is recommended that to avoid namespace pollution between systems, +you should create your own package for that purpose, +for instance replacing the above <code>(in-package :asdf)</code> with: + + <pre class="lisp"> (defpackage :foo-system + (:use :cl :asdf)) + + (in-package :foo-system) +</pre> + <li>The <code>defsystem</code> form defines a system named <code>hello-lisp</code> +that contains three source files: +<samp><span class="file">packages</span></samp>, <samp><span class="file">macros</span></samp> and <samp><span class="file">hello</span></samp>. + + <li>The file <samp><span class="file">macros</span></samp> depends on <samp><span class="file">packages</span></samp> +(presumably because the package it's in is defined in <samp><span class="file">packages</span></samp>), +and the file <samp><span class="file">hello</span></samp> depends on <samp><span class="file">macros</span></samp> +(and hence, transitively on <samp><span class="file">packages</span></samp>). +This means that ASDF will compile and load <samp><span class="file">packages</span></samp> and <samp><span class="file">macros</span></samp> +before starting the compilation of file <samp><span class="file">hello</span></samp>. + + <li>The files are located in the same directory +as the file with the system definition. +ASDF resolves symbolic links (or Windows shortcuts) +before loading the system definition file and +stores its location in the resulting system<a rel="footnote" href="#fn-3" name="fnd-3"><sup>3</sup></a>. +This is a good thing because the user can move the system sources +without having to edit the system definition. + + <!-- FIXME: Should have cross-reference to "Version specifiers" in the --> + <!-- defsystem grammar, but the cross-referencing is so broken by --> + <!-- insufficient node breakdown that I have not put one in. --> + <li>Make sure you know how the <code>:version</code> numbers will be parsed! +They are parsed as period-separated lists of integers. +I.e., in the example, <code>0.2.1</code> is to be interpreted, +roughly speaking, as <code>(0 2 1)</code>. +In particular, version <code>0.2.1</code> +is interpreted the same as <code>0.0002.1</code> and +is strictly version-less-than version <code>0.20.1</code>, +even though the two are the same when interpreted as decimal fractions. +Instead of a string representing the version, +the <code>:version</code> argument can be an expression that is resolved to +such a string using the following trivial domain-specific language: +in addition to being a literal string, it can be an expression of the form +<code>(:read-file-form <pathname-or-string> :at <access-at-specifier>)</code>, +which will be resolved by reading a form in the specified pathname +(read as a subpathname of the current system if relative or a unix-namestring). +You may use a <code>uiop:access-at</code> specifier +with the (optional) <code>:at</code> keyword, +by default the specifier is <code>0</code>, meaning the first form is returned. + + <p><a name="index-g_t_003aversion-20"></a> +</ul> + +<p><a name="A-more-involved-example"></a> + +<!-- node-name, next, previous, up --> +<h3 class="section">5.2 A more involved example</h3> + +<p>Let's illustrate some more involved uses of <code>defsystem</code> via a +slightly convoluted example: + +<pre class="lisp"> (defsystem "foo" + :version "1.0.0" + :components ((:module "mod" + :components ((:file "bar") + (:file"baz") + (:file "quux")) + :perform (compile-op :after (op c) + (do-something c)) + :explain (compile-op :after (op c) + (explain-something c))) + (:file "blah"))) +</pre> + <p>The <code>:module</code> component named <code>"mod"</code> is a collection of three files, +which will be located in a subdirectory of the main code directory named +<samp><span class="file">mod</span></samp> (this location can be overridden; see the discussion of the +<code>:pathname</code> option in <a href="#The-defsystem-grammar">The defsystem grammar</a>). + + <p>The method-form tokens provide a shorthand for defining methods on +particular components. This part + +<pre class="lisp"> :perform (compile-op :after (op c) + (do-something c)) + :explain (compile-op :after (op c) + (explain-something c)) +</pre> + <p>has the effect of + +<pre class="lisp"> (defmethod perform :after ((op compile-op) (c (eql ...))) + (do-something c)) + (defmethod explain :after ((op compile-op) (c (eql ...))) + (explain-something c)) +</pre> + <p>where <code>...</code> is the component in question. +In this case <code>...</code> would expand to something like + +<pre class="lisp"> (find-component "foo" "mod") +</pre> + <p>For more details on the syntax of such forms, see <a href="#The-defsystem-grammar">The defsystem grammar</a>. +For more details on what these methods do, see <a href="#Operations">Operations</a> in +<a href="#The-object-model-of-ASDF">The object model of ASDF</a>. + +<!-- The following plunge into the weeds is not appropriate in this --> +<!-- location. [2010/10/03:rpg] --> +<!-- note that although this also supports @code{:before} methods, --> +<!-- they may not do what you want them to - --> +<!-- a @code{:before} method on perform @code{((op compile-op) (c (eql ...)))} --> +<!-- will run after all the dependencies and sub-components have been processed, --> +<!-- but before the component in question has been compiled. --> +<p><a name="The-defsystem-grammar"></a> + +<!-- node-name, next, previous, up --> +<h3 class="section">5.3 The defsystem grammar</h3> + +<!-- FIXME: @var typesetting not consistently used here. We should either expand --> +<!-- its use to everywhere, or we should kill it everywhere. --> +<pre class="example"> system-definition := ( defsystem system-designator <var>system-option</var>* ) + + system-option := :defsystem-depends-on system-list + | :weakly-depends-on <var>system-list</var> + | :class class-name (see discussion below) + | module-option + | option + + module-option := :components component-list + | :serial [ t | nil ] + + option := + | :pathname pathname-specifier + | :default-component-class class-name + | :perform method-form + | :explain method-form + | :output-files method-form + | :operation-done-p method-form + | :if-feature feature-expression + | :depends-on ( <var>dependency-def</var>* ) + | :in-order-to ( <var>dependency</var>+ ) + + + system-list := ( <var>simple-component-name</var>* ) + + component-list := ( <var>component-def</var>* ) + + component-def := ( component-type simple-component-name <var>option</var>* ) + + component-type := :module | :file | :static-file | other-component-type + + other-component-type := symbol-by-name (see <a href="#The-defsystem-grammar">Component types</a>) + + # This is used in :depends-on, as opposed to ``dependency,'' + # which is used in :in-order-to + dependency-def := simple-component-name + | (feature <var>feature-name</var>) + | ( :version simple-component-name version-specifier) + + # ``dependency'' is used in :in-order-to, as opposed to + # ``dependency-def'' + dependency := (dependent-op <var>requirement</var>+) + requirement := (required-op <var>required-component</var>+) + | (:feature <var>feature-name</var>) + dependent-op := operation-name + required-op := operation-name + + simple-component-name := string + | symbol + + pathname-specifier := pathname | string | symbol + + method-form := (operation-name qual lambda-list &rest body) + qual := method qualifier + + component-dep-fail-option := :fail | :try-next | :ignore + + feature-expression := keyword | (:and <var>feature-expression</var>*) + | (:or <var>feature-expression</var>*) | (:not <var>feature-expression</var>) +</pre> +<h4 class="subsection">5.3.1 Component names</h4> + +<p>Component names (<code>simple-component-name</code>) +may be either strings or symbols. + +<h4 class="subsection">5.3.2 Component types</h4> + +<p>Component type names, even if expressed as keywords, will be looked up +by name in the current package and in the asdf package, if not found in +the current package. So a component type <code>my-component-type</code>, in +the current package <code>my-system-asd</code> can be specified as +<code>:my-component-type</code>, or <code>my-component-type</code>. + + <p><code>system</code> and its subclasses are <em>not</em> +allowed as component types for such children components. + +<h4 class="subsection">5.3.3 System class names</h4> + +<p>A system class name will be looked up +in the same way as a Component type (see above), +except that only <code>system</code> and its subclasses are allowed. +Typically, one will not need to specify a system +class name, unless using a non-standard system class defined in some +ASDF extension, typically loaded through <code>DEFSYSTEM-DEPENDS-ON</code>, +see below. For such class names in the ASDF package, we recommend that +the <code>:class</code> option be specified using a keyword symbol, such as + +<pre class="example"> :class :MY-NEW-SYSTEM-SUBCLASS +</pre> + <p>This practice will ensure that package name conflicts are avoided. +Otherwise, the symbol <code>MY-NEW-SYSTEM-SUBCLASS</code> will be read into +the current package <em>before</em> it has been exported from the ASDF +extension loaded by <code>:defsystem-depends-on</code>, causing a name +conflict in the current package. + +<h4 class="subsection">5.3.4 Defsystem depends on</h4> + +<p><a name="index-g_t_003adefsystem_002ddepends_002don-21"></a> +The <code>:defsystem-depends-on</code> option to <code>defsystem</code> allows the +programmer to specify another ASDF-defined system or set of systems that +must be loaded <em>before</em> the system definition is processed. +Typically this is used to load an ASDF extension that is used in the +system definition. + +<h4 class="subsection">5.3.5 Weakly depends on</h4> + +<p><a name="index-g_t_003aweakly_002ddepends_002don-22"></a> +We do <em>NOT</em> recommend you use this feature. +If you are tempted to write a system <var>foo</var> +that weakly-depends-on a system <var>bar</var>, +we recommend that you should instead +write system <var>foo</var> in a parametric way, +and offer some special variable and/or some hook to specialize its behavior; +then you should write a system <var>foo+bar</var> +that does the hooking of things together. + + <p>The (deprecated) <code>:weakly-depends-on</code> option to <code>defsystem</code> +allows the programmer to specify another ASDF-defined system or set of systems +that ASDF should <em>try</em> to load, +but need not load in order to be successful. +Typically this is used if there are a number of systems +that, if present, could provide additional functionality, +but which are not necessary for basic function. + + <p>Currently, although it is specified to be an option only to <code>defsystem</code>, +this option is accepted at any component, but it probably +only makes sense at the <code>defsystem</code> level. +Programmers are cautioned not +to use this component option except at the <code>defsystem</code> level, as +this anomalous behavior may be removed without warning. + + <p>Finally, you might look into the <code>asdf-system-connections</code> extension, +that will let you define additional code to be loaded +when two systems are simultaneously loaded. +It may or may not be considered good style, but at least it can be used +in a way that has deterministic behavior independent of load order, +unlike <code>weakly-depends-on</code>. + +<h4 class="subsection">5.3.6 Pathname specifiers</h4> + +<p><a name="index-pathname-specifiers-23"></a> +A pathname specifier (<code>pathname-specifier</code>) +may be a pathname, a string or a symbol. +When no pathname specifier is given for a component, +which is the usual case, the component name itself is used. + + <p>If a string is given, which is the usual case, +the string will be interpreted as a Unix-style pathname +where <code>/</code> characters will be interpreted as directory separators. +Usually, Unix-style relative pathnames are used +(i.e. not starting with <code>/</code>, as opposed to absolute pathnames); +they are relative to the path of the parent component. +Finally, depending on the <code>component-type</code>, +the pathname may be interpreted as either a file or a directory, +and if it's a file, +a file type may be added corresponding to the <code>component-type</code>, +or else it will be extracted from the string itself (if applicable). + + <p>For instance, the <code>component-type</code> <code>:module</code> +wants a directory pathname, and so a string <code>"foo/bar"</code> +will be interpreted as the pathname <samp><span class="file">#p"foo/bar/"</span></samp>. +On the other hand, the <code>component-type</code> <code>:file</code> +wants a file of type <code>lisp</code>, and so a string <code>"foo/bar"</code> +will be interpreted as the pathname <samp><span class="file">#p"foo/bar.lisp"</span></samp>, +and a string <code>"foo/bar.quux"</code> +will be interpreted as the pathname <samp><span class="file">#p"foo/bar.quux.lisp"</span></samp>. +Finally, the <code>component-type</code> <code>:static-file</code> +wants a file without specifying a type, and so a string <code>"foo/bar"</code> +will be interpreted as the pathname <samp><span class="file">#p"foo/bar"</span></samp>, +and a string <code>"foo/bar.quux"</code> +will be interpreted as the pathname <samp><span class="file">#p"foo/bar.quux"</span></samp>. + + <p>ASDF does not interpret the string <code>".."</code> to designate the parent +directory. This string will be passed through to the underlying +operating system for interpretation. We <em>believe</em> that this will +work on all platforms where ASDF is deployed, but do not guarantee this +behavior. A pathname object with a relative directory component of +<code>:up</code> or <code>:back</code> is the only guaranteed way to specify a +parent directory. + + <p>If a symbol is given, it will be translated into a string, +and downcased in the process. +The downcasing of symbols is unconventional, +but was selected after some consideration. +Observations suggest that the type of systems we want to support +either have lowercase as customary case (Unix, Mac, windows) +or silently convert lowercase to uppercase (lpns), +so this makes more sense than attempting to use <code>:case :common</code> +as argument to <code>make-pathname</code>, +which is reported not to work on some implementations. + + <p>Pathname objects may be given to override the path for a component. +Such objects are typically specified using reader macros such as <code>#p</code> +or <code>#.(make-pathname ...)</code>. +Note however, that <code>#p...</code> is +a shorthand for <code>#.(parse-namestring ...)</code> +and that the behavior of <code>parse-namestring</code> is completely non-portable, +unless you are using Common Lisp <code>logical-pathname</code>s, +which themselves involve other non-portable behavior +(see <a href="#The-defsystem-grammar">Using logical pathnames</a>, below). +Pathnames made with <code>#.(make-pathname ...)</code> +can usually be done more easily with the string syntax above. +The only case that you really need a pathname object is to override +the component-type default file type for a given component. +Therefore, pathname objects should only rarely be used. +Unhappily, ASDF 1 didn't properly support +parsing component names as strings specifying paths with directories, +and the cumbersome <code>#.(make-pathname ...)</code> syntax had to be used. +An alternative to <code>#.</code> read-time evaluation is to use +<code>(eval `(defsystem ... ,pathname ...))</code>. + + <p>Note that when specifying pathname objects, +ASDF does not do any special interpretation of the pathname +influenced by the component type, unlike the procedure for +pathname-specifying strings. +On the one hand, you have to be careful to provide a pathname that correctly +fulfills whatever constraints are required from that component type +(e.g. naming a directory or a file with appropriate type); +on the other hand, you can circumvent the file type that would otherwise +be forced upon you if you were specifying a string. + +<h4 class="subsection">5.3.7 Version specifiers</h4> + +<p><a name="index-version-specifiers-24"></a><a name="index-g_t_003aversion-25"></a> +Version specifiers are strings to be parsed as period-separated lists of integers. +I.e., in the example, <code>"0.2.1"</code> is to be interpreted, +roughly speaking, as <code>(0 2 1)</code>. +In particular, version <code>"0.2.1"</code> is interpreted the same as <code>"0.0002.1"</code>, +though the latter is not canonical and may lead to a warning being issued. +Also, <code>"1.3"</code> and <code>"1.4"</code> are both strictly <code>uiop:version<</code> to <code>"1.30"</code>, +quite unlike what would have happened +had the version strings been interpreted as decimal fractions. + + <p>System definers are encouraged to use version identifiers of the form +<var>x</var>.<var>y</var>.<var>z</var> for +major version, minor version and patch level, +where significant API incompatibilities are signaled by an increased major number. + + <p>See <a href="#Common-attributes-of-components">Common attributes of components</a>. + +<h4 class="subsection">5.3.8 Using logical pathnames</h4> + +<p><a name="index-logical-pathnames-26"></a> +We do not generally recommend the use of logical pathnames, +especially not so to newcomers to Common Lisp. +However, we do support the use of logical pathnames by old timers, +when such is their preference. + + <p>To use logical pathnames, +you will have to provide a pathname object as a <code>:pathname</code> specifier +to components that use it, using such syntax as +<code>#p"LOGICAL-HOST:absolute;path;to;component.lisp"</code>. + + <p>You only have to specify such logical pathname +for your system or some top-level component. +Sub-components' relative pathnames, +specified using the string syntax for names, +will be properly merged with the pathnames of their parents. +The specification of a logical pathname host however is <em>not</em> +otherwise directly supported in the ASDF syntax +for pathname specifiers as strings. + + <p>The <code>asdf-output-translation</code> layer will +avoid trying to resolve and translate logical pathnames. +The advantage of this is that +you can define yourself what translations you want to use +with the logical pathname facility. +The disadvantage is that if you do not define such translations, +any system that uses logical pathnames will behave differently under +asdf-output-translations than other systems you use. + + <p>If you wish to use logical pathnames you will have to configure the +translations yourself before they may be used. +ASDF currently provides no specific support +for defining logical pathname translations. + + <p>Note that the reasons we do not recommend logical pathnames are that +(1) there is no portable way to set up logical pathnames before they are used, +(2) logical pathnames are limited to only portably use +a single character case, digits and hyphens. +While you can solve the first issue on your own, +describing how to do it on each of fifteen implementations supported by ASDF +is more than we can document. +As for the second issue, mind that the limitation is notably enforced on SBCL, +and that you therefore can't portably violate the limitations +but must instead define some encoding of your own and add individual mappings +to name physical pathnames that do not fit the restrictions. +This can notably be a problem when your Lisp files are part of a larger project +in which it is common to name files or directories in a way that +includes the version numbers of supported protocols, +or in which files are shared with software written +in different programming languages where conventions include the use of +underscores, dots or CamelCase in pathnames. + +<h4 class="subsection">5.3.9 Serial dependencies</h4> + +<p><a name="index-serial-dependencies-27"></a> +If the <code>:serial t</code> option is specified for a module, +ASDF will add dependencies for each child component, +on all the children textually preceding it. +This is done as if by <code>:depends-on</code>. + +<pre class="lisp"> :serial t + :components ((:file "a") (:file "b") (:file "c")) +</pre> + <p>is equivalent to + +<pre class="lisp"> :components ((:file "a") + (:file "b" :depends-on ("a")) + (:file "c" :depends-on ("a" "b"))) +</pre> + <h4 class="subsection">5.3.10 Source location</h4> + +<p>The <code>:pathname</code> option is optional in all cases for systems +defined via <code>defsystem</code>, +and in the usual case the user is recommended not to supply it. + + <p>Instead, ASDF follows a hairy set of rules that are designed so that + <ol type=1 start=1> +<li><code>find-system</code> +will load a system from disk +and have its pathname default to the right place. + + <li>This pathname information will not be overwritten with +<code>*default-pathname-defaults*</code> +(which could be somewhere else altogether) +if the user loads up the <samp><span class="file">.asd</span></samp> file into his editor +and interactively re-evaluates that form. + </ol> + + <p>If a system is being loaded for the first time, +its top-level pathname will be set to: + + <ul> +<li>The host/device/directory parts of <code>*load-truename*</code>, +if it is bound. +<li><code>*default-pathname-defaults*</code>, otherwise. +</ul> + + <p>If a system is being redefined, the top-level pathname will be + + <ul> +<li>changed, if explicitly supplied or obtained from <code>*load-truename*</code> +(so that an updated source location is reflected in the system definition) + + <li>changed if it had previously been set from <code>*default-pathname-defaults*</code> + + <li>left as before, if it had previously been set from <code>*load-truename*</code> +and <code>*load-truename*</code> is currently unbound +(so that a developer can evaluate a <code>defsystem</code> form +from within an editor without clobbering its source location) +</ul> + +<h4 class="subsection">5.3.11 if-feature option</h4> + +<p>This option allows you to specify a feature expression to be evaluated +as if by <code>#+</code> to conditionally include a component in your build. +If the expression is false, the component is dropped +as well as any dependency pointing to it. +As compared to using <code>#+</code> which is expanded at read-time, +this allows you to have an object in your component hierarchy +that can be used for manipulations beside building your project. +This option was added in ASDF 3. + +<h4 class="subsection">5.3.12 if-component-dep-fails option</h4> + +<p>This option was removed in ASDF 3. +Its semantics was limited in purpose and dubious to explain, +and its implementation was breaking a hole into the ASDF object model. +Please use the <code>if-feature</code> option instead. + +<p><a name="Other-code-in-.asd-files"></a> +<a name="Other-code-in-_002easd-files"></a> + +<h3 class="section">5.4 Other code in .asd files</h3> + +<p>Files containing <code>defsystem</code> forms +are regular Lisp files that are executed by <code>load</code>. +Consequently, you can put whatever Lisp code you like into these files. +However, it is recommended to keep such forms to a minimal, +and to instead define <code>defsystem</code> extensions +that you use with <code>:defsystem-depends-on</code>. + + <p>If however, you might insist on including code in the <code>.asd</code> file itself, +e.g., to examine and adjust the compile-time environment, +possibly adding appropriate features to <code>*features*</code>. +If so, here are some conventions we recommend you follow, +so that users can control certain details of execution +of the Lisp in <samp><span class="file">.asd</span></samp> files: + + <ul> +<li>Any informative output +(other than warnings and errors, +which are the condition system's to dispose of) +should be sent to the standard CL stream <code>*standard-output*</code>, +so that users can easily control the disposition +of output from ASDF operations. +</ul> + +<p><a name="The-object-model-of-ASDF"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">6 The object model of ASDF</h2> + +<p>ASDF is designed in an object-oriented way from the ground up. +Both a system's structure and the operations that can be performed on systems +follow a extensible protocol. + + <p>This allows the addition of behaviours: +for example, <code>cffi</code> adds support of special FFI description files +to interface with C libraries and of wrapper files to embed C code in Lisp; +<code>abcl-jar</code> supports creating Java JAR archives in ABCL; +and <code>poiu</code> supports for compiling code in parallel using background processes. + + <p>This chapter deals with <code>component</code>s and <code>operation</code>s. + + <p>A <code>component</code> represents an individual source file or a group of source files, +and the things that get transformed into. +A <code>system</code> is a component at the top level of the component hierarchy. +A <code>source-file</code> is a component representing a single source-file +and the successive output files into which it is transformed. +A <code>module</code> is an intermediate component itself grouping several other components, +themselves source-files or further modules. + + <p>An <code>Operation</code> represents a transformation that can be performed on a component, +turning them from source files to intermediate results to final outputs. + + <p>A pair of an <code>operation</code> and a <code>component</code> is called an <code>action</code>. +An <code>action</code> represents a particular build step to be <code>perform</code>ed, +after all its dependencies have been fulfilled. +In the ASDF model, actions depend on other actions. +The term <em>action</em> itself was used by Kent Pitman in his old article, +but was only used by ASDF hackers starting with the ASDF 2; +but the concept is ubiquitous since the very beginning of ASDF 1, +though previously implicit. + + <p>Then, there are many <em>functions</em> available +to users, extenders and implementers of ASDF +to use, define or implement the activities +that are part of building your software. +Though they manipulate <code>action</code>s, +most of these functions do not take as an argument +a reified pair (a <code>cons</code> cell) of an operation and a component; +instead, they usually take two separate arguments, +which allows to take advantage of the power CLOS-style multiple dispatch +for fun and profit. + + <p>There are many <em>hooks</em> in which to add functionality, +by customizing the behavior of existing <em>functions</em>. + + <p>Last but not least is the notion of <em>dependency</em> between two actions. +The structure of dependencies between actions is +a directed <em>dependency graph</em>. +ASDF is invoked by being told to <em>operate</em> +with some <em>operation</em> on some toplevel <em>system</em>; +it will then <em>traverse</em> the graph and build a <em>plan</em> +that follows its structure. +To be successfully buildable, this graph of actions but be acyclic. +If, as a user, extender or implementer of ASDF, you fail +to keep the dependency graph without cycles, +ASDF will fail loudly as it eventually finds one. +To clearly distinguish the direction of dependencies, +ASDF 3 uses the words <em>requiring</em> and <em>required</em> +as applied to an action depending on the other: +the requiring action <code>depends-on</code> the completion of all required actions +before it may itself be <code>perform</code>ed. + + <p>Using the <code>defsystem</code> syntax, users may easily express +direct dependencies along the graph of the object hierarchy: +between a component and its parent, its children, and its siblings. +By defining custom CLOS methods, you can express more elaborate dependencies as you wish. +Most common operations, such as <code>load-op</code>, <code>compile-op</code> or <code>load-source-op</code> +are automatically propagate “downward” the component hierarchy and are “covariant” with it: +to act the operation on the parent module, you must first act it on all the children components, +with the action on the parent being parent of the action on each child. +Other operations, such as <code>prepare-op</code> and <code>prepare-source-op</code> +(introduced in ASDF 3) are automatically propagated “upward” the component hierarchy +and are “contravariant” with it: +to perform the operation of preparing for compilation of a child component, +you must perform the operation of preparing for compilation of its parent component, and so on, +ensuring that all the parent's dependencies are (compiled and) loaded +before the child component may be compiled and loaded. +Yet other operations, such as <code>test-op</code> or <code>load-fasl-op</code> +remain at the system level, and are not propagated along the hierarchy, +but instead do something global on the system. + +<p><a name="Operations"></a> + +<!-- node-name, next, previous, up --> +<h3 class="section">6.1 Operations</h3> + +<p><a name="index-operation-28"></a> +An <dfn>operation</dfn> object of the appropriate type is instantiated +whenever the user wants to do something with a system like + + <ul> +<li>compile all its files +<li>load the files into a running lisp environment +<li>copy its source files somewhere else +</ul> + + <p>Operations can be invoked directly, or examined +to see what their effects would be without performing them. +There are a bunch of methods specialised on operation and component type +that actually do the grunt work. + + <p>The operation object contains whatever state is relevant for this purpose +(perhaps a list of visited nodes, for example) +but primarily is a nice thing to specialise operation methods on +and easier than having them all be <code>EQL</code> methods. + + <p>Operations are invoked on systems via <code>operate</code>. +<a name="operate"></a> + +<div class="defun"> +— Generic function: <code>operate</code><var> operation system &rest initargs &key </var><code>force</code> <code>force-not</code> <code>verbose</code><var> &allow-other-keys<a name="index-g_t_0040code_007boperate_007d-29"></a></var><br> +— Generic function: <code>oos</code><var> operation system &rest initargs &key &allow-other-keys<a name="index-g_t_0040code_007boos_007d-30"></a></var><br> +<blockquote><p><code>operate</code> invokes <var>operation</var> on <var>system</var>. +<code>oos</code> is a synonym for <code>operate</code>. + + <p><var>operation</var> is a symbol that is passed, along with the supplied +<var>initargs</var>, to <code>make-instance</code> to create the operation object. +<var>system</var> is a system designator. + + <p>The <var>initargs</var> are passed to the <code>make-instance</code> call +when creating the operation object. +Note that dependencies may cause the operation +to invoke other operations on the system or its components: +the new operations will be created +with the same <var>initargs</var> as the original one. + + <p>If <var>force</var> is <code>:all</code>, then all systems +are forced to be recompiled even if not modified since last compilation. +If <var>force</var> is <code>t</code>, then only the system being loaded +is forced to be recompiled even if not modified since last compilation, +but other systems are not affected. +If <var>force</var> is a list, then it specifies a list of systems that +are forced to be recompiled even if not modified since last compilation. +If <var>force-not</var> is <code>:all</code>, then all systems +are forced not to be recompiled even if modified since last compilation. +If <var>force-not</var> is <code>t</code>, then only the system being loaded +is forced not to be recompiled even if modified since last compilation, +but other systems are not affected. +If <var>force-not</var> is a list, then it specifies a list of systems that +are forced not to be recompiled even if modified since last compilation. +<var>force</var> takes precedences over <var>force-not</var>; +both of them apply to systems that are dependencies and were already compiled. + + <p>To see what <code>operate</code> would do, you can use: + <pre class="example"> (asdf:traverse operation-class system-name) +</pre> + </blockquote></div> + +<p><a name="Predefined-operations-of-ASDF"></a> + +<!-- node-name, next, previous, up --> +<h4 class="subsection">6.1.1 Predefined operations of ASDF</h4> + +<p>All the operations described in this section are in the <code>asdf</code> package. +They are invoked via the <code>operate</code> generic function. + +<pre class="lisp"> (asdf:operate 'asdf:<var>operation-name</var> :<var>system-name</var> {<var>operation-options ...</var>}) +</pre> + <div class="defun"> +— Operation: <code>compile-op</code><var><a name="index-g_t_0040code_007bcompile_002dop_007d-31"></a></var><br> +<blockquote> + <p>This operation compiles the specified component. +A <code>cl-source-file</code> will be <code>compile-file</code>'d. +All the children and dependencies of a system or module +will be recursively compiled by <code>compile-op</code>. + + <p><code>compile-op</code> depends on <code>prepare-op</code> which +itself depends on a <code>load-op</code> of all of a component's dependencies, +as well as of its parent's dependencies. +When <code>operate</code> is called on <code>compile-op</code>, +all these dependencies will be loaded as well as compiled; +yet, some parts of the system main remain unloaded, +because nothing depends on them. +Use <code>load-op</code> to load a system. +</p></blockquote></div> + +<div class="defun"> +— Operation: <code>load-op</code><var><a name="index-g_t_0040code_007bload_002dop_007d-32"></a></var><br> +<blockquote> + <p>This operation loads the compiled code for a specified component. +A <code>cl-source-file</code> will have its compiled fasl <code>load</code>ed, +which fasl is the output of <code>compile-op</code> that <code>load-op</code> depends on. +All the children and dependencies of a system or module +will be recursively loaded by <code>load-op</code>. + + <p><code>load-op</code> depends on <code>prepare-op</code> which +itself depends on a <code>load-op</code> of all of a component's dependencies, +as well as of its parent's dependencies. +</p></blockquote></div> + +<div class="defun"> +— Operation: <code>prepare-op</code><var><a name="index-g_t_0040code_007bprepare_002dop_007d-33"></a></var><br> +<blockquote> + <p>This operation ensures that the dependencies of a component +and its recursive parents are loaded (as per <code>load-op</code>), +as a prerequisite before <code>compile-op</code> and <code>load-op</code> operations +may be performed on a given component. +</p></blockquote></div> + +<div class="defun"> +— Operation: <code>load-source-op</code><var>, </var><code>prepare-source-op</code><var><a name="index-g_t_0040code_007bload_002dsource_002dop_007d-34"></a></var><br> +<blockquote> + <p><code>load-source-op</code> will load the source for the files in a module +rather than they compiled fasl output. +It has a <code>prepare-source-op</code> analog to <code>prepare-op</code>, +that ensures the dependencies are themselves loaded via <code>load-source-op</code>. + + <p>There is no provision in ASDF for ensuring that +some components are always loaded as source, while others are always compiled. +While this idea often comes up in discussions, +it actually doesn't play well with either the linking model of ECL +or with various bundle operations (see below), and is eventually not workable; +also the dependency model of ASDF would have to be modified incompatibly +to allow for such trick. +If your code doesn't compile cleanly, fix it. +If compilation makes it slow, use <code>declaim</code> or <code>eval-when</code> +to adjust your compiler settings, +or eschew compilation by <code>eval</code>uating a quoted source form at load-time. +</p></blockquote></div> + + <p><a name="test_002dop"></a> + +<div class="defun"> +— Operation: <code>test-op</code><var><a name="index-g_t_0040code_007btest_002dop_007d-35"></a></var><br> +<blockquote> + <p>This operation will perform some tests on the module. +The default method will do nothing. +The default dependency is to require +<code>load-op</code> to be performed on the module first. +The default <code>operation-done-p</code> is that the operation is <em>never</em> done +— +we assume that if you invoke the <code>test-op</code>, +you want to test the system, even if you have already done so. + + <p>The results of this operation are not defined by ASDF. +It has proven difficult to define how the test operation +should signal its results to the user +in a way that is compatible with all of the various test libraries +and test techniques in use in the community. + + <p>People typically define <code>test-op</code> methods like thus: + <pre class="example"> (defmethod perform ((o asdf:test-op) + (s (eql (asdf:find-system <var>:my-system</var>)))) + (asdf:load-system <var>:my-system-test</var>) + (funcall (read-from-string "my-system-test:test-suite"))) +</pre> + <p>Using <code>load-system</code> in the perform method +rather than an <code>:in-order-to</code> dependency, +is sometimes necessary for backward compatibility with ASDF 2 and older, +to avoid circular dependencies that could arise +because of the way these old versions propagate dependencies. + + <p>If you don't care for compatibility with ASDF 2, +you could use the following options in your <code>defsystem</code> form: + <pre class="example"> :in-order-to ((test-op (load-op :my-system-test))) + :perform (test-op (o c) (symbol-call :my-system-test :test-suite)) +</pre> + </blockquote></div> + +<div class="defun"> +— Operation: <code>fasl-op</code><var>, </var><code>monolithic-fasl-op</code><var>, </var><code>load-fasl-op</code><var>, </var><code>binary-op</code><var>, </var><code>monolithic-binary-op</code><var>, </var><code>lib-op</code><var>, </var><code>monolithic-lib-op</code><var>, </var><code>dll-op</code><var>, </var><code>monolithic-dll-op</code><var>, </var><code>program-op</code><var><a name="index-g_t_0040code_007bfasl_002dop_007d-36"></a></var><br> +<blockquote> + <p>These are “bundle” operations, that can create a single-file “bundle” +for all the contents of each system in an application, +or for the entire application. + + <p><code>fasl-op</code> will create a single fasl file for each of the systems needed, +grouping all its many fasls in one, +so you can deliver each system as a single fasl. +<code>monolithic-fasl-op</code> will create a single fasl file for target system +and all its dependencies, +so you can deliver your entire application as a single fasl. +<code>load-fasl-op</code> will load the output of <code>fasl-op</code> +(though if it the output is not up-to-date, +it will load the intermediate fasls indeed as part of building it); +this matters a lot on ECL, where the dynamic linking involved in loading +tens of individual fasls can be noticeably more expensive +than loading a single one. + + <p>Once you have created a fasl with <code>fasl-op</code>, +you can use <code>precompiled-system</code> to deliver it in a way +that is compatible with clients having dependencies on your system, +whether it is distributed as source or as a single binary; +the <samp><span class="file">.asd</span></samp> file to be delivered with the fasl will look like this: + <pre class="example"> (defsystem :mysystem :class :precompiled-system + :fasl (some expression that will evaluate to a pathname)) +</pre> + <p>Or you can use <code>binary-op</code> to let ASDF create such a system for you +as well as the <code>fasl-op</code> output, or <code>monolithic-binary-op</code>. +This allows you to deliver code for your systems or applications +as a single file. +Of course, if you want to test the result in the current image, +<em>before</em> you try to use any newly created <samp><span class="file">.asd</span></samp> files, +you should not forget to <code>(asdf:clear-configuration)</code> +or at least <code>(asdf:clear-source-registry)</code>, +so it re-populates the source-registry from the filesystem. + + <p>The <code>program-op</code> operation will create an executable program +from the specified system and its dependencies. +You can use UIOP for its pre-image-dump hooks, its post-image-restore hooks, +and its access to command-line arguments. +And you can specify an entry point <code>my-app:main</code> +by specifying in your <code>defsystem</code> +the option <code>:entry-point "my-app:main"</code>. +Depending on your implementation, +running <code>(asdf:operate 'asdf:program-op :my-app)</code> +may quit the current Lisp image upon completion. +See the example in +<samp><span class="file">test/hello-world-example.asd</span></samp> and <samp><span class="file">test/hello.lisp</span></samp>, +as built and tested by +<samp><span class="file">test/test-program.script</span></samp> and <samp><span class="file">test/make-hello-world.lisp</span></samp>. + + <p>There is also <code>lib-op</code> +for building a linkable <samp><span class="file">.a</span></samp> file (Windows: <samp><span class="file">.lib</span></samp>) +from all linkable object dependencies (FFI files, and on ECL, Lisp files too), +and its monolithic equivalent <code>monolithic-lib-op</code>. +And there is also <code>dll-op</code> +(respectively its monolithic equivalent <code>monolithic-lib-op</code>) +for building a linkable <samp><span class="file">.so</span></samp> file +(Windows: <samp><span class="file">.dll</span></samp>, MacOS X: <samp><span class="file">.dynlib</span></samp>) +to create a single dynamic library +for all the extra FFI code to be linked into each of your systems +(respectively your entire application). + + <p>All these “bundle” operations are available since ASDF 3 +on all actively supported Lisp implementations, +but may be unavailable on unmaintained legacy implementations. +This functionality was previously available for select implementations, +as part of a separate system <code>asdf-bundle</code>, +itself descended from the ECL-only <code>asdf-ecl</code>. + + <p>The pathname of the output of bundle operations +is subject to output-translation as usual, +unless the operation is equal to +the <code>:build-operation</code> argument to <code>defsystem</code>. +This behavior is not very satisfactory and may change in the future. +Maybe you have suggestions on how to better configure it? +</p></blockquote></div> + +<div class="defun"> +— Operation: <code>concatenate-source-op</code><var>, </var><code>monolithic-concatenate-source-op</code><var>, </var><code>load-concatenated-source-op</code><var>, </var><code>compile-concatenated-source-op</code><var>, </var><code>load-compiled-concatenated-source-op</code><var>, </var><code>monolithic-load-concatenated-source-op</code><var>, </var><code>monolithic-compile-concatenated-source-op</code><var>, </var><code>monolithic-load-compiled-concatenated-source-op</code><var><a name="index-g_t_0040code_007bconcatenate_002dsource_002dop_007d-37"></a></var><br> +<blockquote> + <p>These operation, as their respective names indicate, +consist in concatenating all <code>cl-source-file</code> source files in a system +(or in a system and all its dependencies, if monolithic), +in the order defined by dependencies, +then loading the result, or compiling then loading the result. + + <p>These operations are useful to deliver a system or application +as a single source file, +and for testing that said file loads properly, or compiles then loads properly. + + <p>ASDF itself is notably delivered as a single source file this way +using <code>monolithic-concatenate-source-op</code>, +transcluding a prelude and the <code>uiop</code> library +before the <code>asdf/defsystem</code> system itself. +</p></blockquote></div> + +<p><a name="Creating-new-operations"></a> + +<!-- node-name, next, previous, up --> +<h4 class="subsection">6.1.2 Creating new operations</h4> + +<p>ASDF was designed to be extensible in an object-oriented fashion. +To teach ASDF new tricks, a programmer can implement the behaviour he wants +by creating a subclass of <code>operation</code>. + + <p>ASDF's pre-defined operations are in no way “privileged”, +but it is requested that developers never use the <code>asdf</code> package +for operations they develop themselves. +The rationale for this rule is that we don't want to establish a +“global asdf operation name registry”, +but also want to avoid name clashes. + + <p>Your operation <em>must</em> usually provide methods +for one or more of the following generic functions: + + <ul> +<li><code>perform</code> +Unless your operation, like <code>prepare-op</code>, +is for dependency propagation only, +the most important function for which to define a method +is usually <code>perform</code>, +which will be called to perform the operation on a specified component, +after all dependencies have been performed. + + <p>The <code>perform</code> method must call <code>output-files</code> (see below) +to find out where to put its files, +because the user is allowed to override the method +or tweak the output-translation mechanism. +Perform should only use the primary value returned by <code>output-files</code>. +If one and only one output file is expected, +it can call <code>output-file</code> that checks that this is the case +and returns the first and only list element. + + <li><code>output-files</code> +If your perform method has any output, +you must define a method for this function. +for ASDF to determine where the outputs of performing operation lie. + + <p>Your method may return two values, a list of pathnames, and a boolean. +If the boolean is <code>nil</code> (or you fail to return multiple values), +then enclosing <code>:around</code> methods may translate these pathnames, +e.g. to ensure object files are somehow stored +in some implementation-dependent cache. +If the boolean is <code>t</code> then the pathnames are marked +not be translated by the enclosing <code>:around</code> method. + + <li><code>component-depends-on</code> +If the action of performing the operation on a component has dependencies, +you must define a method on <code>component-depends-on</code>. + + <p>Your method will take as specialized arguments +an operation and a component which together identify an action, +and return a list of entries describing actions that this action depends on. +The format of entries is described below. + + <p>It is <em>strongly</em> advised that +you should always append the results of <code>(call-next-method)</code> +to the results of your method, +or “interesting” failures will likely occur, +unless you're a true specialist of ASDF internals. +It is unhappily too late to compatibly use the <code>append</code> method combination, +but conceptually that's the protocol that is being manually implemented. + + <p>Each entry returned by <code>component-depends-on</code> is itself a list. + + <p>The first element of an entry is an operation designator: +either an operation object designating itself, or +a symbol that names an operation class +(that ASDF will instantiate using <code>make-operation</code>). +For instance, <code>load-op</code>, <code>compile-op</code> and <code>prepare-op</code> +are common such names, denoting the respective operations. + + <p>The rest of each entry is a list of component designators: +either a component object designating itself, +or an identifier to be used with <code>find-component</code>. +<code>find-component</code> will be called with the current component's parent as parent, +and the identifier as second argument. +The identifier is typically a string, +a symbol (to be downcased as per <code>coerce-name</code>), +or a list of strings or symbols. +In particular, the empty list <code>nil</code> denotes the parent itself. + + </ul> + + <p>An operation <em>may</em> provide methods for the following generic functions: + + <ul> +<li><code>input-files</code> +A method for this function is often not needed, +since ASDF has a pretty clever default <code>input-files</code> mechanism. +You only need create a method if there are multiple ultimate input files, +and/or the bottom one doesn't depend +on the <code>component-pathname</code> of the component. + + <li><code>operation-done-p</code> +You only need to define a method on that function +if you can detect conditions that invalidate previous runs of the operation, +even though no filesystem timestamp has changed, +in which case you return <code>nil</code> (the default is <code>t</code>). + + <p>For instance, the method for <code>test-op</code> always returns <code>nil</code>, +so that tests are always run afresh. +Of course, the <code>test-op</code> for your system could depend +on a deterministically repeatable <code>test-report-op</code>, +and just read the results from the report files, +in which case you could have this method return <code>t</code>. + + </ul> + + <p>Operations that print output should send that output to the standard +CL stream <code>*standard-output*</code>, as the Lisp compiler and loader do. + +<p><a name="Components"></a> + +<!-- node-name, next, previous, up --> +<h3 class="section">6.2 Components</h3> + +<p><a name="index-component-38"></a><a name="index-system-39"></a><a name="index-system-designator-40"></a><a name="index-component-designator-41"></a><a name="index-g_t_002asystem_002ddefinition_002dsearch_002dfunctions_002a-42"></a> +A <dfn>component</dfn> represents a source file or +(recursively) a collection of components. +A <dfn>system</dfn> is (roughly speaking) a top-level component +that can be found via <code>find-system</code>. + + <p>A <dfn>system designator</dfn> is a system itself, +or a string or symbol that behaves just like any other component name +(including with regard to the case conversion rules for component names). + + <p>A <dfn>component designator</dfn>, relative to a base component, +is either a component itself, +or a string or symbol, +or a list of designators. + +<div class="defun"> +— Function: <b>find-system</b><var> system-designator &optional </var>(<var>error-p t</var>)<var><a name="index-find_002dsystem-43"></a></var><br> +<blockquote> + <p>Given a system designator, <code>find-system</code> finds and returns a system. +If no system is found, an error of type +<code>missing-component</code> is thrown, +or <code>nil</code> is returned if <code>error-p</code> is false. + + <p>To find and update systems, <code>find-system</code> funcalls each element +in the <code>*system-definition-search-functions*</code> list, +expecting a pathname to be returned, or a system object, +from which a pathname may be extracted, and that will be registered. +The resulting pathname (if any) is loaded +if one of the following conditions is true: + + <ul> +<li>there is no system of that name in memory +<li>the pathname is different from that which was previously loaded +<li>the file's <code>last-modified</code> time exceeds the <code>last-modified</code> time +of the system in memory +</ul> + + <p>When system definitions are loaded from <samp><span class="file">.asd</span></samp> files, +a new scratch package is created for them to load into, +so that different systems do not overwrite each others operations. +The user may also wish to (and is recommended to) +include <code>defpackage</code> and <code>in-package</code> forms +in his system definition files, however, +so that they can be loaded manually if need be. + + <p>The default value of <code>*system-definition-search-functions*</code> +is a list of two functions. +The first function looks in each of the directories given +by evaluating members of <code>*central-registry*</code> +for a file whose name is the name of the system and whose type is <samp><span class="file">asd</span></samp>. +The first such file is returned, +whether or not it turns out to actually define the appropriate system. +The second function does something similar, +for the directories specified in the <code>source-registry</code>. +Hence, it is strongly advised to define a system +<var>foo</var> in the corresponding file <var>foo.asd</var>. +</p></blockquote></div> + +<div class="defun"> +— Function: <b>find-component</b><var> base path<a name="index-find_002dcomponent-44"></a></var><br> +<blockquote> + <p>Given a <var>base</var> component (or designator for such), +and a <var>path</var>, find the component designated by the <var>path</var> +starting from the <var>base</var>. + + <p>If <var>path</var> is a component object, it designates itself, +independently from the base. + + <p>If <var>path</var> is a string, or symbol denoting a string via <code>coerce-name</code>, +then <var>base</var> is resolved to a component object, +which must be a system or module, +and the designated component is the child named by the <var>path</var>. + + <p>If <var>path</var> is a <code>cons</code> cell, +<code>find-component</code> with the base and the <code>car</code> of the <var>path</var>, +and the resulting object is used as the base for a tail call +to <code>find-component</code> with the <code>car</code> of the <var>path</var>. + + <p>If <var>base</var> is a component object, it designates itself. + + <p>If <var>base</var> is null, then <var>path</var> is used as the base, with <code>nil</code> as the path. + + <p>If <var>base</var> is a string, or symbol denoting a string via <code>coerce-name</code>, +it designates a system as per <code>find-system</code>. + + <p>If <var>base</var> is a <code>cons</code> cell, it designates the component found by +<code>find-component</code> with its <code>car</code> as base and <code>cdr</code> as path. +</p></blockquote></div> + +<p><a name="Common-attributes-of-components"></a> + +<!-- node-name, next, previous, up --> +<h4 class="subsection">6.2.1 Common attributes of components</h4> + +<p>All components, regardless of type, have the following attributes. +All attributes except <code>name</code> are optional. + +<h5 class="subsubsection">6.2.1.1 Name</h5> + +<p>A component name is a string or a symbol. +If a symbol, its name is taken and lowercased. + + <p>Unless overridden by a <code>:pathname</code> attribute, +the name will be interpreted as a pathname specifier according +to a Unix-style syntax. +See <a href="#The-defsystem-grammar">Pathname specifiers</a>. + +<h5 class="subsubsection">6.2.1.2 Version identifier</h5> + +<p><a name="index-version_002dsatisfies-45"></a><a name="index-g_t_003aversion-46"></a> +This optional attribute specifies a version for the current component. +The version should typically be a string of integers separated by dots, +for example ‘<samp><span class="samp">1.0.11</span></samp>’. +For more information on version specifiers, see <a href="#The-defsystem-grammar">The defsystem grammar</a>. + + <p>A version may then be queried by the generic function <code>version-satisfies</code>, +to see if <code>:version</code> dependencies are satisfied, +and when specifying dependencies, a constraint of minimal version to satisfy +can be specified using e.g. <code>(:version "mydepname" "1.0.11")</code>. + + <p>Note that in the wild, we typically see version numbering +only on components of type <code>system</code>. +Presumably it is much less useful within a given system, +wherein the library author is responsible to keep the various files in synch. + +<h5 class="subsubsection">6.2.1.3 Required features</h5> + +<p>Traditionally defsystem users have used <code>#+</code> reader conditionals +to include or exclude specific per-implementation files. +This means that any single implementation cannot read the entire system, +which becomes a problem if it doesn't wish to compile it, +but instead for example to create an archive file containing all the sources, +as it will omit to process the system-dependent sources for other systems. + + <p>Each component in an asdf system may therefore specify using <code>:if-feature</code> +a feature expression using the same syntax as <code>#+</code> does, +such that any reference to the component will be ignored +during compilation, loading and/or linking if the expression evaluates to false. +Since the expression is read by the normal reader, +you must explicitly prefix your symbols with <code>:</code> so they be read as keywords; +this is as contrasted with the <code>#+</code> syntax +that implicitly reads symbols in the keyword package by default. + + <p>For instance, <code>:if-feature (:and :x86 (:or :sbcl :cmu :scl))</code> specifies that +the given component is only to be compiled and loaded +when the implementation is SBCL, CMUCL or Scieneer CL on an x86 machine. +You can not write it as <code>:if-feature (and x86 (or sbcl cmu scl))</code> +since the symbols would presumably fail to be read as keywords. + +<h5 class="subsubsection">6.2.1.4 Dependencies</h5> + +<p>This attribute specifies dependencies of the component on its siblings. +It is optional but often necessary. + + <p>There is an excitingly complicated relationship between the initarg +and the method that you use to ask about dependencies + + <p>Dependencies are between (operation component) pairs. +In your initargs for the component, you can say + +<pre class="lisp"> :in-order-to ((compile-op (load-op "a" "b") (compile-op "c")) + (load-op (load-op "foo"))) +</pre> + <p>This means the following things: + <ul> +<li>before performing compile-op on this component, we must perform +load-op on <var>a</var> and <var>b</var>, and compile-op on <var>c</var>, +<li>before performing <code>load-op</code>, we have to load <var>foo</var> +</ul> + + <p>The syntax is approximately + +<pre class="verbatim">(this-op @{(other-op required-components)@}+) + +simple-component-name := string + | symbol + +required-components := simple-component-name + | (required-components required-components) + +component-name := simple-component-name + | (:version simple-component-name minimum-version-object) +</pre> + + <p>Side note: + + <p>This is on a par with what ACL defsystem does. +mk-defsystem is less general: it has an implied dependency + +<pre class="verbatim"> for all source file x, (load x) depends on (compile x) +</pre> + + <p>and using a <code>:depends-on</code> argument to say that <var>b</var> depends on +<var>a</var> <em>actually</em> means that + +<pre class="verbatim"> (compile b) depends on (load a) +</pre> + + <p>This is insufficient for e.g. the McCLIM system, which requires that +all the files are loaded before any of them can be compiled ] + + <p>End side note + + <p>In ASDF, the dependency information for a given component and operation +can be queried using <code>(component-depends-on operation component)</code>, +which returns a list + +<pre class="lisp"> ((load-op "a") (load-op "b") (compile-op "c") ...) +</pre> + <p><code>component-depends-on</code> can be subclassed for more specific +component/operation types: these need to <code>(call-next-method)</code> +and append the answer to their dependency, unless +they have a good reason for completely overriding the default dependencies. + + <p>If it weren't for CLISP, we'd be using <code>LIST</code> method +combination to do this transparently. +But, we need to support CLISP. +If you have the time for some CLISP hacking, +I'm sure they'd welcome your fixes. +<!-- Doesn't CLISP now support LIST method combination? --> + + <p>A minimal version can be specified for a component you depend on +(typically another system), by specifying <code>(:version "other-system" "1.2.3")</code> +instead of simply <code>"other-system"</code> as the dependency. +See the discussion of the semantics of <code>:version</code> +in the defsystem grammar. + +<!-- FIXME: Should have cross-reference to "Version specifiers" in the --> +<!-- defsystem grammar, but the cross-referencing is so broken by --> +<!-- insufficient node breakdown that I have not put one in. --> +<h5 class="subsubsection">6.2.1.5 pathname</h5> + +<p>This attribute is optional and if absent (which is the usual case), +the component name will be used. + + <p>See <a href="#The-defsystem-grammar">Pathname specifiers</a>, +for an explanation of how this attribute is interpreted. + + <p>Note that the <code>defsystem</code> macro (used to create a “top-level” system) +does additional processing to set the filesystem location of +the top component in that system. +This is detailed elsewhere. See <a href="#Defining-systems-with-defsystem">Defining systems with defsystem</a>. + +<h5 class="subsubsection">6.2.1.6 properties</h5> + +<p>This attribute is optional. + + <p>Packaging systems often require information about files or systems +in addition to that specified by ASDF's pre-defined component attributes. +Programs that create vendor packages out of ASDF systems therefore +have to create “placeholder” information to satisfy these systems. +Sometimes the creator of an ASDF system may know the additional +information and wish to provide it directly. + + <p><code>(component-property component property-name)</code> and +associated <code>setf</code> method will allow +the programmatic update of this information. +Property names are compared as if by <code>EQL</code>, +so use symbols or keywords or something. + +<p><a name="Pre-defined-subclasses-of-component"></a> +<a name="Pre_002ddefined-subclasses-of-component"></a> + +<!-- node-name, next, previous, up --> +<h4 class="subsection">6.2.2 Pre-defined subclasses of component</h4> + +<div class="defun"> +— Component: <b>source-file</b><var><a name="index-source_002dfile-47"></a></var><br> +<blockquote> + <p>A source file is any file that the system does not know how to +generate from other components of the system. + + <p>Note that this is not necessarily the same thing as +“a file containing data that is typically fed to a compiler”. +If a file is generated by some pre-processor stage +(e.g. a <samp><span class="file">.h</span></samp> file from <samp><span class="file">.h.in</span></samp> by autoconf) +then it is not, by this definition, a source file. +Conversely, we might have a graphic file +that cannot be automatically regenerated, +or a proprietary shared library that we received as a binary: +these do count as source files for our purposes. + + <p>Subclasses of source-file exist for various languages. +<em>FIXME: describe these.</em> +</p></blockquote></div> + +<div class="defun"> +— Component: <b>module</b><var><a name="index-module-48"></a></var><br> +<blockquote> + <p>A module is a collection of sub-components. + + <p>A module component has the following extra initargs: + + <ul> +<li><code>:components</code> the components contained in this module + + <li><code>:default-component-class</code> +All children components which don't specify their class explicitly +are inferred to be of this type. + + <li><code>:if-component-dep-fails</code> +This attribute was removed in ASDF 3. Do not use it. +Use <code>:if-feature</code> instead. + + <li><code>:serial</code> When this attribute is set, +each subcomponent of this component is assumed to depend on all subcomponents +before it in the list given to <code>:components</code>, i.e. +all of them are loaded before a compile or load operation is performed on it. + + </ul> + + <p>The default operation knows how to traverse a module, so +most operations will not need to provide methods specialised on modules. + + <p><code>module</code> may be subclassed to represent components such as +foreign-language linked libraries or archive files. +</p></blockquote></div> + +<div class="defun"> +— Component: <b>system</b><var><a name="index-system-49"></a></var><br> +<blockquote> + <p><code>system</code> is a subclass of <code>module</code>. + + <p>A system is a module with a few extra attributes for documentation +purposes; these are given elsewhere. +See <a href="#The-defsystem-grammar">The defsystem grammar</a>. + + <p>Users can create new classes for their systems: +the default <code>defsystem</code> macro takes a <code>:class</code> keyword argument. +</p></blockquote></div> + +<p><a name="Creating-new-component-types"></a> + +<!-- node-name, next, previous, up --> +<h4 class="subsection">6.2.3 Creating new component types</h4> + +<p>New component types are defined by subclassing one of the existing +component classes and specializing methods on the new component class. + + <p><em>FIXME: this should perhaps be explained more throughly, +not only by example ...</em> + + <p>As an example, suppose we have some implementation-dependent +functionality that we want to isolate +in one subdirectory per Lisp implementation our system supports. +We create a subclass of +<code>cl-source-file</code>: + +<pre class="lisp"> (defclass unportable-cl-source-file (cl-source-file) + ()) +</pre> + <p>Function <code>asdf:implementation-type</code> (exported since 2.014.14) +gives us the name of the subdirectory. +All that's left is to define how to calculate the pathname +of an <code>unportable-cl-source-file</code>. + +<pre class="lisp"> (defmethod component-pathname ((component unportable-cl-source-file)) + (merge-pathnames* + (parse-unix-namestring (format nil "~(~A~)/" (asdf:implementation-type))) + (call-next-method))) +</pre> + <p>The new component type is used in a <code>defsystem</code> form in this way: + +<pre class="lisp"> (defsystem :foo + :components + ((:file "packages") + ... + (:unportable-cl-source-file "threads" + :depends-on ("packages" ...)) + ... + ) +</pre> + <p><a name="Functions"></a> + +<!-- node-name, next, previous, up --> +<h3 class="section">6.3 Functions</h3> + +<p><a name="index-version_002dsatisfies-50"></a> + +<div class="defun"> +— version-satisfies: <var>version</var><var> version-spec<a name="index-g_t_0040var_007bversion_007d-51"></a></var><br> +<blockquote><p>Does <var>version</var> satisfy the <var>version-spec</var>. A generic function. +ASDF provides built-in methods for <var>version</var> being a <code>component</code> or <code>string</code>. +<var>version-spec</var> should be a string. +If it's a component, its version is extracted as a string before further processing. + + <p>A version string satisfies the version-spec if after parsing, +the former is no older than the latter. +Therefore <code>"1.9.1"</code>, <code>"1.9.2"</code> and <code>"1.10"</code> all satisfy <code>"1.9.1"</code>, +but <code>"1.8.4"</code> or <code>"1.9"</code> do not. +For more information about how <code>version-satisfies</code> parses and interprets +version strings and specifications, +see <a href="#The-defsystem-grammar">The defsystem grammar</a> (version specifiers) and +<a href="#Common-attributes-of-components">Common attributes of components</a>. + + <p>Note that in versions of ASDF prior to 3.0.1, +including the entire ASDF 1 and ASDF 2 series, +<code>version-satisfies</code> would also require that the version and the version-spec +have the same major version number (the first integer in the list); +if the major version differed, the version would be considered as not matching the spec. +But that feature was not documented, therefore presumably not relied upon, +whereas it was a nuisance to several users. +Starting with ASDF 3.0.1, +<code>version-satisfies</code> does not treat the major version number specially, +and returns T simply if the first argument designates a version that isn't older +than the one specified as a second argument. +If needs be, the <code>(:version ...)</code> syntax for specifying dependencies +could be in the future extended to specify an exclusive upper bound for compatible versions +as well as an inclusive lower bound. +</p></blockquote></div> + +<p><a name="Controlling-where-ASDF-searches-for-systems"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">7 Controlling where ASDF searches for systems</h2> + +<h3 class="section">7.1 Configurations</h3> + +<p>Configurations specify paths where to find system files. + + <ol type=1 start=1> + + <li>The search registry may use some hardcoded wrapping registry specification. +This allows some implementations (notably SBCL) to specify where to find +some special implementation-provided systems that +need to precisely match the version of the implementation itself. + + <li>An application may explicitly initialize the source-registry configuration +using the configuration API +(see <a href="#Controlling-where-ASDF-searches-for-systems">Configuration API</a>, below) +in which case this takes precedence. +It may itself compute this configuration from the command-line, +from a script, from its own configuration file, etc. + + <li>The source registry will be configured from +the environment variable <code>CL_SOURCE_REGISTRY</code> if it exists. + + <li>The source registry will be configured from +user configuration file +<samp><span class="file">$XDG_CONFIG_DIRS/common-lisp/source-registry.conf</span></samp> +(which defaults to +<samp><span class="file">~/.config/common-lisp/source-registry.conf</span></samp>) +if it exists. + + <li>The source registry will be configured from +user configuration directory +<samp><span class="file">$XDG_CONFIG_DIRS/common-lisp/source-registry.conf.d/</span></samp> +(which defaults to +<samp><span class="file">~/.config/common-lisp/source-registry.conf.d/</span></samp>) +if it exists. + + <li>The source registry will be configured from +system configuration file +<samp><span class="file">/etc/common-lisp/source-registry.conf</span></samp> +if it exists/ + + <li>The source registry will be configured from +system configuration directory +<samp><span class="file">/etc/common-lisp/source-registry.conf.d/</span></samp> +if it exists. + + <li>The source registry will be configured from a default configuration. +This configuration may allow for implementation-specific systems +to be found, for systems to be found the current directory +(at the time that the configuration is initialized) as well as +<code>:directory</code> entries for <samp><span class="file">$XDG_DATA_DIRS/common-lisp/systems/</span></samp> and +<code>:tree</code> entries for <samp><span class="file">$XDG_DATA_DIRS/common-lisp/source/</span></samp>. +For instance, SBCL will include directories for its contribs +when it can find them; it will look for them where SBCL was installed, +or at the location specified by the <code>SBCL_HOME</code> environment variable. + + </ol> + + <p>Each of these configurations is specified as an s-expression +in a trivial domain-specific language (defined below). +Additionally, a more shell-friendly syntax is available +for the environment variable (defined yet below). + + <p>Each of these configurations is only used if the previous +configuration explicitly or implicitly specifies that it +includes its inherited configuration. + + <p>Additionally, some implementation-specific directories +may be automatically prepended to whatever directories are specified +in configuration files, no matter if the last one inherits or not. + +<h3 class="section">7.2 Truenames and other dangers</h3> + +<p>One great innovation of the original ASDF was its ability to leverage +<code>CL:TRUENAME</code> to locate where your source code was and where to build it, +allowing for symlink farms as a simple but effective configuration mechanism +that is easy to control programmatically. +ASDF 3 still supports this configuration style, and it is enabled by default; +however we recommend you instead use +our source-registry configuration mechanism described below, +because it is easier to setup in a portable way across users and implementations. + + <p>Addtionally, some people dislike truename, +either because it is very slow on their system, or +because they are using content-addressed storage where the truename of a file +is related to a digest of its individual contents, +and not to other files in the same intended project. +For these people, ASDF 3 allows to eschew the <code>TRUENAME</code> mechanism, +by setting the variable <var>asdf:*resolve-symlinks*</var> to <code>nil</code>. + + <p>PS: Yes, if you haven't read Vernor Vinge's short but great classic +“True Names... and Other Dangers” then you're in for a treat. + +<h3 class="section">7.3 XDG base directory</h3> + +<p>Note that we purport to respect the XDG base directory specification +as to where configuration files are located, +where data files are located, +where output file caches are located. +Mentions of XDG variables refer to that document. + + <p><a href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html</a> + + <p>This specification allows the user to specify some environment variables +to customize how applications behave to his preferences. + + <p>On Windows platforms, when not using Cygwin, +instead of the XDG base directory specification, +we try to use folder configuration from the registry regarding +<code>Common AppData</code> and similar directories. +Since support for querying the Windows registry +is not possible to do in reasonable amounts of portable Common Lisp code, +ASDF 3 relies on the environment variables that Windows usually exports. + +<h3 class="section">7.4 Backward Compatibility</h3> + +<p>For backward compatibility as well as to provide a practical backdoor for hackers, +ASDF will first search for <code>.asd</code> files in the directories specified in +<code>asdf:*central-registry*</code> +before it searches in the source registry above. + + <p>See <a href="#Configuring-ASDF">Configuring ASDF to find your systems — old style</a>. + + <p>By default, <code>asdf:*central-registry*</code> will be empty. + + <p>This old mechanism will therefore not affect you if you don't use it, +but will take precedence over the new mechanism if you do use it. + +<h3 class="section">7.5 Configuration DSL</h3> + +<p>Here is the grammar of the s-expression (SEXP) DSL for source-registry +configuration: + +<!-- FIXME: This is too wide for happy compilation into pdf. --> +<pre class="example"> ;; A configuration is a single SEXP starting with keyword :source-registry + ;; followed by a list of directives. + CONFIGURATION := (:source-registry DIRECTIVE ...) + + ;; A directive is one of the following: + DIRECTIVE := + ;; INHERITANCE DIRECTIVE: + ;; Your configuration expression MUST contain + ;; exactly one of either of these: + :inherit-configuration | ; splices inherited configuration (often specified last) + :ignore-inherited-configuration | ; drop inherited configuration (specified anywhere) + + ;; forward compatibility directive (since ASDF 2.011.4), useful when + ;; you want to use new configuration features but have to bootstrap a + ;; the newer required ASDF from an older release that doesn't sport said features: + :ignore-invalid-entries | ; drops subsequent invalid entries instead of erroring out + + ;; add a single directory to be scanned (no recursion) + (:directory DIRECTORY-PATHNAME-DESIGNATOR) | + + ;; add a directory hierarchy, recursing but excluding specified patterns + (:tree DIRECTORY-PATHNAME-DESIGNATOR) | + + ;; override the defaults for exclusion patterns + (:exclude EXCLUSION-PATTERN ...) | + ;; augment the defaults for exclusion patterns + (:also-exclude EXCLUSION-PATTERN ...) | + ;; Note that the scope of a an exclude pattern specification is + ;; the rest of the current configuration expression or file. + + ;; splice the parsed contents of another config file + (:include REGULAR-FILE-PATHNAME-DESIGNATOR) | + + ;; This directive specifies that some default must be spliced. + :default-registry + + REGULAR-FILE-PATHNAME-DESIGNATOR := PATHNAME-DESIGNATOR ;; interpreted as a file + DIRECTORY-PATHNAME-DESIGNATOR := PATHNAME-DESIGNATOR ;; interpreted as a directory name + + PATHNAME-DESIGNATOR := + NIL | ;; Special: skip this entry. + ABSOLUTE-COMPONENT-DESIGNATOR ;; see pathname DSL + + EXCLUSION-PATTERN := a string without wildcards, that will be matched exactly + against the name of a any subdirectory in the directory component + of a path. e.g. <code>"_darcs"</code> will match <samp><span class="file">#p"/foo/bar/_darcs/src/bar.asd"</span></samp> +</pre> + <p>Pathnames are designated using another DSL, +shared with the output-translations configuration DSL below. +The DSL is resolved by the function <code>asdf::resolve-location</code>, +to be documented and exported at some point in the future. + +<pre class="example"> ABSOLUTE-COMPONENT-DESIGNATOR := + (ABSOLUTE-COMPONENT-DESIGNATOR RELATIVE-COMPONENT-DESIGNATOR ...) | + STRING | ;; namestring (better be absolute or bust, directory assumed where applicable). + ;; In output-translations, directory is assumed and **/*.*.* added if it's last. + ;; On MCL, a MacOSX-style POSIX namestring (for MacOS9 style, use #p"..."); + ;; Note that none of the above applies to strings used in *central-registry*, + ;; which doesn't use this DSL: they are processed as normal namestrings. + ;; however, you can compute what you put in the *central-registry* + ;; based on the results of say (asdf::resolve-location "/Users/fare/cl/cl-foo/") + PATHNAME | ;; pathname (better be an absolute path, or bust) + ;; In output-translations, unless followed by relative components, + ;; it better have appropriate wildcards, as in **/*.*.* + :HOME | ;; designates the user-homedir-pathname ~/ + :USER-CACHE | ;; designates the default location for the user cache + :HERE | ;; designates the location of the configuration file + ;; (or *default-pathname-defaults*, if invoked interactively) + :ROOT ;; magic, for output-translations source only: paths that are relative + ;; to the root of the source host and device + ;; Not valid anymore: :SYSTEM-CACHE (was a security hazard) + + RELATIVE-COMPONENT-DESIGNATOR := + (RELATIVE-COMPONENT-DESIGNATOR RELATIVE-COMPONENT-DESIGNATOR ...) | + STRING | ;; relative directory pathname as interpreted by parse-unix-namestring. + ;; In output translations, if last component, **/*.*.* is added + PATHNAME | ;; pathname; unless last component, directory is assumed. + :IMPLEMENTATION | ;; directory based on implementation, e.g. sbcl-1.0.45-linux-x64 + :IMPLEMENTATION-TYPE | ;; a directory based on lisp-implementation-type only, e.g. sbcl + :DEFAULT-DIRECTORY | ;; a relativized version of the default directory + :*/ | ;; any direct subdirectory (since ASDF 2.011.4) + :**/ | ;; any recursively inferior subdirectory (since ASDF 2.011.4) + :*.*.* | ;; any file (since ASDF 2.011.4) + ;; Not supported (anymore): :UID and :USERNAME +</pre> + <p>For instance, as a simple case, my <samp><span class="file">~/.config/common-lisp/source-registry.conf</span></samp>, +which is the default place ASDF looks for this configuration, once contained: +<pre class="example"> (:source-registry + (:tree (:home "cl")) ;; will expand to e.g. "/home/joeluser/cl/" + :inherit-configuration) +</pre> + <h3 class="section">7.6 Configuration Directories</h3> + +<p>Configuration directories consist in files each containing +a list of directives without any enclosing <code>(:source-registry ...)</code> form. +The files will be sorted by namestring as if by <code>string<</code> and +the lists of directives of these files with be concatenated in order. +An implicit <code>:inherit-configuration</code> will be included +at the <em>end</em> of the list. + + <p>This allows for packaging software that has file granularity +(e.g. Debian's <code>dpkg</code> or some future version of <code>clbuild</code>) +to easily include configuration information about distributed software. + + <p>The convention is that, for sorting purposes, +the names of files in such a directory begin with two digits +that determine the order in which these entries will be read. +Also, the type of these files is conventionally <code>"conf"</code> +and as a limitation to some implementations (e.g. GNU clisp), +the type cannot be <code>nil</code>. + + <p>Directories may be included by specifying a directory pathname +or namestring in an <code>:include</code> directive, e.g.: + +<pre class="example"> (:include "/foo/bar/") +</pre> + <p>Hence, to achieve the same effect as +my example <samp><span class="file">~/.config/common-lisp/source-registry.conf</span></samp> above, +I could simply create a file +<samp><span class="file">~/.config/common-lisp/source-registry.conf.d/33-home-fare-cl.conf</span></samp> +alone in its directory with the following contents: +<pre class="example"> (:tree "/home/fare/cl/") +</pre> + <h4 class="subsection">7.6.1 The :here directive</h4> + +<p>The <code>:here</code> directive is an absolute pathname designator that +refers to the directory containing the configuration file currently +being processed. + + <p>The <code>:here</code> directive is intended to simplify the delivery of +complex CL systems, and for easy configuration of projects shared through +revision control systems, in accordance with our design principle that +each participant should be able to provide all and only the information +available to him or her. + + <p>Consider a person X who has set up the source code repository for a +complex project with a master directory <samp><span class="file">dir/</span></samp>. Ordinarily, one +might simply have the user add a directive that would look something +like this: +<pre class="example"> (:tree "path/to/dir") +</pre> + <p>But what if X knows that there are very large subtrees +under dir that are filled with, e.g., Java source code, image files for +icons, etc.? All of the asdf system definitions are contained in the +subdirectories <samp><span class="file">dir/src/lisp/</span></samp> and <samp><span class="file">dir/extlib/lisp/</span></samp>, and +these are the only directories that should be searched. + + <p>In this case, X can put into <samp><span class="file">dir/</span></samp> a file <samp><span class="file">asdf.conf</span></samp> that +contains the following: +<pre class="example"> (:source-registry + (:tree (:here "src/lisp/")) + (:tree (:here "extlib/lisp")) + (:directory (:here "outlier/"))) +</pre> + <p>Then when someone else (call her Y) checks out a copy of this +repository, she need only add +<pre class="example"> (:include "/path/to/my/checkout/directory/asdf.conf") +</pre> + <p>to one of her previously-existing asdf source location configuration +files, or invoke <code>initialize-source-registry</code> with a configuration +form containing that s-expression. ASDF will find the .conf file that X +has provided, and then set up source locations within the working +directory according to X's (relative) instructions. + +<h3 class="section">7.7 Shell-friendly syntax for configuration</h3> + +<p>When considering environment variable <code>CL_SOURCE_REGISTRY</code> +ASDF will skip to next configuration if it's an empty string. +It will <code>READ</code> the string as a SEXP in the DSL +if it begins with a paren <code>(</code> +and it will be interpreted much like <code>TEXINPUTS</code> +list of paths, where + + <p>* paths are separated + by a <code>:</code> (colon) on Unix platforms (including cygwin), + by a <code>;</code> (semicolon) on other platforms (mainly, Windows). + + <p>* each entry is a directory to add to the search path. + + <p>* if the entry ends with a double slash <code>//</code> + then it instead indicates a tree in the subdirectories + of which to recurse. + + <p>* if the entry is the empty string (which may only appear once), + then it indicates that the inherited configuration should be + spliced there. + +<h3 class="section">7.8 Search Algorithm</h3> + +<p><a name="index-g_t_002adefault_002dsource_002dregistry_002dexclusions_002a-52"></a> +In case that isn't clear, the semantics of the configuration is that +when searching for a system of a given name, +directives are processed in order. + + <p>When looking in a directory, if the system is found, the search succeeds, +otherwise it continues. + + <p>When looking in a tree, if one system is found, the search succeeds. +If multiple systems are found, the consequences are unspecified: +the search may succeed with any of the found systems, +or an error may be raised. +ASDF currently returns the first system found, +XCVB currently raised an error. +If none is found, the search continues. + + <p>Exclude statements specify patterns of subdirectories +the systems from which to ignore. +Typically you don't want to use copies of files kept by such +version control systems as Darcs. +Exclude statements are not propagated to further included or inherited +configuration files or expressions; +instead the defaults are reset around every configuration statement +to the default defaults from <code>asdf::*default-source-registry-exclusions*</code>. + + <p>Include statements cause the search to recurse with the path specifications +from the file specified. + + <p>An inherit-configuration statement cause the search to recurse with the path +specifications from the next configuration +(see <a href="#Controlling-where-ASDF-searches-for-systems">Configurations</a> above). + +<h3 class="section">7.9 Caching Results</h3> + +<p>The implementation is allowed to either eagerly compute the information +from the configurations and file system, or to lazily re-compute it +every time, or to cache any part of it as it goes. +To explicitly flush any information cached by the system, use the API below. + +<h3 class="section">7.10 Configuration API</h3> + +<p>The specified functions are exported from your build system's package. +Thus for ASDF the corresponding functions are in package ASDF, +and for XCVB the corresponding functions are in package XCVB. + +<div class="defun"> +— Function: <b>initialize-source-registry</b><var> &optional PARAMETER<a name="index-initialize_002dsource_002dregistry-53"></a></var><br> +<blockquote><p> will read the configuration and initialize all internal variables. + You may extend or override configuration + from the environment and configuration files + with the given <var>PARAMETER</var>, which can be + <code>nil</code> (no configuration override), + or a SEXP (in the SEXP DSL), + a string (as in the string DSL), + a pathname (of a file or directory with configuration), + or a symbol (fbound to function that when called returns one of the above). +</p></blockquote></div> + +<div class="defun"> +— Function: <b>clear-source-registry</b><var><a name="index-clear_002dsource_002dregistry-54"></a></var><br> +<blockquote><p> undoes any source registry configuration + and clears any cache for the search algorithm. + You might want to call this function + (or better, <code>clear-configuration</code>) + before you dump an image that would be resumed + with a different configuration, + and return an empty configuration. + Note that this does not include clearing information about + systems defined in the current image, only about + where to look for systems not yet defined. +</p></blockquote></div> + +<div class="defun"> +— Function: <b>ensure-source-registry</b><var> &optional PARAMETER<a name="index-ensure_002dsource_002dregistry-55"></a></var><br> +<blockquote><p> checks whether a source registry has been initialized. + If not, initialize it with the given <var>PARAMETER</var>. +</p></blockquote></div> + + <p>Every time you use ASDF's <code>find-system</code>, or +anything that uses it (such as <code>operate</code>, <code>load-system</code>, etc.), +<code>ensure-source-registry</code> is called with parameter <code>nil</code>, +which the first time around causes your configuration to be read. +If you change a configuration file, +you need to explicitly <code>initialize-source-registry</code> again, +or maybe simply to <code>clear-source-registry</code> (or <code>clear-configuration</code>) +which will cause the initialization to happen next time around. + +<h3 class="section">7.11 Status</h3> + +<p>This mechanism is vastly successful, and we have declared +that <code>asdf:*central-registry*</code> is not recommended anymore, +though we will continue to support it. +All hooks into implementation-specific search mechanisms +have been integrated in the <code>wrapping-source-registry</code> +that everyone uses implicitly. + +<h3 class="section">7.12 Rejected ideas</h3> + +<p>Alternatives I considered and rejected included: + + <ol type=1 start=1> +<li>Keep <code>asdf:*central-registry*</code> as the master with its current semantics, + and somehow the configuration parser expands the new configuration + language into a expanded series of directories of subdirectories to + lookup, pre-recursing through specified hierarchies. This is kludgy, + and leaves little space of future cleanups and extensions. + + <li>Keep <code>asdf:*central-registry*</code> remains the master but extend its semantics + in completely new ways, so that new kinds of entries may be implemented + as a recursive search, etc. This seems somewhat backwards. + + <li>Completely remove <code>asdf:*central-registry*</code> + and break backwards compatibility. + Hopefully this will happen in a few years after everyone migrate to + a better ASDF and/or to XCVB, but it would be very bad to do it now. + + <li>Replace <code>asdf:*central-registry*</code> by a symbol-macro with appropriate magic + when you dereference it or setf it. Only the new variable with new + semantics is handled by the new search procedure. + Complex and still introduces subtle semantic issues. + </ol> + + <p>I've been suggested the below features, but have rejected them, +for the sake of keeping ASDF no more complex than strictly necessary. + + <ul> +<li> More syntactic sugar: synonyms for the configuration directives, such as + <code>(:add-directory X)</code> for <code>(:directory X)</code>, or <code>(:add-directory-hierarchy X)</code> + or <code>(:add-directory X :recurse t)</code> for <code>(:tree X)</code>. + + <li> The possibility to register individual files instead of directories. + + <li> Integrate Xach Beane's tilde expander into the parser, + or something similar that is shell-friendly or shell-compatible. + I'd rather keep ASDF minimal. But maybe this precisely keeps it + minimal by removing the need for evaluated entries that ASDF has? + i.e. uses of <code>USER-HOMEDIR-PATHNAME</code> and <code>$SBCL_HOME</code> + Hopefully, these are already superseded by the <code>:default-registry</code> + + <li> Using the shell-unfriendly syntax <code>/**</code> instead of <code>//</code> to specify recursion + down a filesystem tree in the environment variable. + It isn't that Lisp friendly either. +</ul> + +<h3 class="section">7.13 TODO</h3> + + <ul> +<li>Add examples +</ul> + +<h3 class="section">7.14 Credits for the source-registry</h3> + +<p>Thanks a lot to Stelian Ionescu for the initial idea. + + <p>Thanks to Rommel Martinez for the initial implementation attempt. + + <p>All bad design ideas and implementation bugs are to mine, not theirs. +But so are good design ideas and elegant implementation tricks. + + <p>— Francois-Rene Rideau <a href="mailto:fare@tunes.org">fare@tunes.org</a>, Mon, 22 Feb 2010 00:07:33 -0500 + +<p><a name="Controlling-where-ASDF-saves-compiled-files"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">8 Controlling where ASDF saves compiled files</h2> + +<p><a name="index-asdf_002doutput_002dtranslations-56"></a><a name="index-ASDF_005fOUTPUT_005fTRANSLATIONS-57"></a> +Each Common Lisp implementation has its own format +for compiled files (fasls for short, short for “fast loading”). +If you use multiple implementations +(or multiple versions of the same implementation), +you'll soon find your source directories +littered with various <samp><span class="file">fasl</span></samp>s, <samp><span class="file">dfsl</span></samp>s, <samp><span class="file">cfsl</span></samp>s and so on. +Worse yet, some implementations use the same file extension +while changing formats from version to version (or platform to platform) +which means that you'll have to recompile binaries +as you switch from one implementation to the next. + + <p>Since ASDF 2, ASDF includes the <code>asdf-output-translations</code> facility +to mitigate the problem. + +<h3 class="section">8.1 Configurations</h3> + +<p>Configurations specify mappings from input locations to output locations. +Once again we rely on the XDG base directory specification for configuration. +See <a href="#Controlling-where-ASDF-searches-for-systems">XDG base directory</a>. + + <ol type=1 start=1> + + <li>Some hardcoded wrapping output translations configuration may be used. +This allows special output translations (or usually, invariant directories) +to be specified corresponding to the similar special entries in the source registry. + + <li>An application may explicitly initialize the output-translations +configuration using the Configuration API +in which case this takes precedence. +(see <a href="#Controlling-where-ASDF-saves-compiled-files">Configuration API</a>.) +It may itself compute this configuration from the command-line, +from a script, from its own configuration file, etc. + + <li>The source registry will be configured from +the environment variable <code>ASDF_OUTPUT_TRANSLATIONS</code> if it exists. + + <li>The source registry will be configured from +user configuration file +<samp><span class="file">$XDG_CONFIG_DIRS/common-lisp/asdf-output-translations.conf</span></samp> +(which defaults to +<samp><span class="file">~/.config/common-lisp/asdf-output-translations.conf</span></samp>) +if it exists. + + <li>The source registry will be configured from +user configuration directory +<samp><span class="file">$XDG_CONFIG_DIRS/common-lisp/asdf-output-translations.conf.d/</span></samp> +(which defaults to +<samp><span class="file">~/.config/common-lisp/asdf-output-translations.conf.d/</span></samp>) +if it exists. + + <li>The source registry will be configured from +system configuration file +<samp><span class="file">/etc/common-lisp/asdf-output-translations.conf</span></samp> +if it exists. + + <li>The source registry will be configured from +system configuration directory +<samp><span class="file">/etc/common-lisp/asdf-output-translations.conf.d/</span></samp> +if it exists. + + </ol> + + <p>Each of these configurations is specified as a SEXP +in a trival domain-specific language (defined below). +Additionally, a more shell-friendly syntax is available +for the environment variable (defined yet below). + + <p>Each of these configurations is only used if the previous +configuration explicitly or implicitly specifies that it +includes its inherited configuration. + + <p>Note that by default, a per-user cache is used for output files. +This allows the seamless use of shared installations of software +between several users, and takes files out of the way of the developers +when they browse source code, +at the expense of taking a small toll when developers have to clean up +output files and find they need to get familiar with output-translations first. + +<h3 class="section">8.2 Backward Compatibility</h3> + +<p><a name="index-ASDF_002dBINARY_002dLOCATIONS-compatibility-58"></a> + + <p>We purposefully do NOT provide backward compatibility with earlier versions of +<code>ASDF-Binary-Locations</code> (8 Sept 2009), +<code>common-lisp-controller</code> (7.0) or +<code>cl-launch</code> (2.35), +each of which had similar general capabilities. +The previous APIs of these programs were not designed +for configuration by the end-user +in an easy way with configuration files. +Recent versions of same packages use +the new <code>asdf-output-translations</code> API as defined below: +<code>common-lisp-controller</code> (7.2) and <code>cl-launch</code> (3.000). +<code>ASDF-Binary-Locations</code> is fully superseded and not to be used anymore. + + <p>This incompatibility shouldn't inconvenience many people. +Indeed, few people use and customize these packages; +these few people are experts who can trivially adapt to the new configuration. +Most people are not experts, could not properly configure these features +(except inasmuch as the default configuration of +<code>common-lisp-controller</code> and/or <code>cl-launch</code> +might have been doing the right thing for some users), +and yet will experience software that “just works”, +as configured by the system distributor, or by default. + + <p>Nevertheless, if you are a fan of <code>ASDF-Binary-Locations</code>, +we provide a limited emulation mode: + +<div class="defun"> +— Function: <b>enable-asdf-binary-locations-compatibility</b><var> &key centralize-lisp-binaries default-toplevel-directory include-per-user-information map-all-source-files source-to-target-mappings<a name="index-enable_002dasdf_002dbinary_002dlocations_002dcompatibility-59"></a></var><br> +<blockquote><p>This function will initialize the new <code>asdf-output-translations</code> facility in a way +that emulates the behavior of the old <code>ASDF-Binary-Locations</code> facility. +Where you would previously set global variables +<var>*centralize-lisp-binaries*</var>, +<var>*default-toplevel-directory*</var>, +<var>*include-per-user-information*</var>, +<var>*map-all-source-files*</var> or <var>*source-to-target-mappings*</var> +you will now have to pass the same values as keyword arguments to this function. +Note however that as an extension the <code>:source-to-target-mappings</code> keyword argument +will accept any valid pathname designator for <code>asdf-output-translations</code> +instead of just strings and pathnames. +</p></blockquote></div> + + <p>If you insist, you can also keep using the old <code>ASDF-Binary-Locations</code> +(the one available as an extension to load of top of ASDF, +not the one built into a few old versions of ASDF), +but first you must disable <code>asdf-output-translations</code> +with <code>(asdf:disable-output-translations)</code>, +or you might experience “interesting” issues. + + <p>Also, note that output translation is enabled by default. +To disable it, use <code>(asdf:disable-output-translations)</code>. + +<h3 class="section">8.3 Configuration DSL</h3> + +<p>Here is the grammar of the SEXP DSL +for <code>asdf-output-translations</code> configuration: + +<pre class="verbatim">;; A configuration is single SEXP starting with keyword :source-registry +;; followed by a list of directives. +CONFIGURATION := (:output-translations DIRECTIVE ...) + +;; A directive is one of the following: +DIRECTIVE := + ;; INHERITANCE DIRECTIVE: + ;; Your configuration expression MUST contain + ;; exactly one of either of these: + :inherit-configuration | ; splices inherited configuration (often specified last) + :ignore-inherited-configuration | ; drop inherited configuration (specified anywhere) + + ;; forward compatibility directive (since ASDF 2.011.4), useful when + ;; you want to use new configuration features but have to bootstrap a + ;; the newer required ASDF from an older release that doesn't sport said features: + :ignore-invalid-entries | ; drops subsequent invalid entries instead of erroring out + + ;; include a configuration file or directory + (:include PATHNAME-DESIGNATOR) | + + ;; enable global cache in ~/.common-lisp/cache/sbcl-1.0.45-linux-amd64/ or something. + :enable-user-cache | + ;; Disable global cache. Map / to / + :disable-cache | + + ;; add a single directory to be scanned (no recursion) + (DIRECTORY-DESIGNATOR DIRECTORY-DESIGNATOR) + + ;; use a function to return the translation of a directory designator + (DIRECTORY-DESIGNATOR (:function TRANSLATION-FUNCTION)) + +DIRECTORY-DESIGNATOR := + NIL | ;; As source: skip this entry. As destination: same as source + T | ;; as source matches anything, as destination leaves pathname unmapped. + ABSOLUTE-COMPONENT-DESIGNATOR ;; same as in the source-registry language + +TRANSLATION-FUNCTION := + SYMBOL | ;; symbol of a function that takes two arguments, + ;; the pathname to be translated and the matching DIRECTORY-DESIGNATOR + LAMBDA ;; A form which evalutates to a function taking two arguments consisting of + ;; the pathname to be translated and the matching DIRECTORY-DESIGNATOR + +</pre> + + <p>Relative components better be either relative +or subdirectories of the path before them, or bust. + + <p>The last component, if not a pathname, is notionally completed by <samp><span class="file">/**/*.*</span></samp>. +You can specify more fine-grained patterns +by using a pathname object as the last component +e.g. <samp><span class="file">#p"some/path/**/foo*/bar-*.fasl"</span></samp> + + <p>You may use <code>#+features</code> to customize the configuration file. + + <p>The second designator of a mapping may be <code>nil</code>, indicating that files are not mapped +to anything but themselves (same as if the second designator was the same as the first). + + <p>When the first designator is <code>t</code>, +the mapping always matches. +When the first designator starts with <code>:root</code>, +the mapping matches any host and device. +In either of these cases, if the second designator +isn't <code>t</code> and doesn't start with <code>:root</code>, +then strings indicating the host and pathname are somehow copied +in the beginning of the directory component of the source pathname +before it is translated. + + <p>When the second designator is <code>t</code>, the mapping is the identity. +When the second designator starts with <code>:root</code>, +the mapping preserves the host and device of the original pathname. +Notably, this allows you to map files +to a subdirectory of the whichever directory the file is in. +Though the syntax is not quite as easy to use as we'd like, +you can have an (source destination) mapping entry such as follows +in your configuration file, +or you may use <code>enable-asdf-binary-locations-compatibility</code> +with <code>:centralize-lisp-binaries nil</code> +which will do the same thing internally for you: +<pre class="verbatim"> #.(let ((wild-subdir (make-pathname :directory '(:relative :wild-inferiors))) + (wild-file (make-pathname :name :wild :version :wild :type :wild))) + `((:root ,wild-subdir ,wild-file) ;; Or using the implicit wildcard, just :root + (:root ,wild-subdir :implementation ,wild-file))) +</pre> +Starting with ASDF 2.011.4, you can use the simpler: + <code>`(:root (:root :**/ :implementation :*.*.*))</code> + + <p><code>:include</code> statements cause the search to recurse with the path specifications +from the file specified. + + <p>If the <code>translate-pathname</code> mechanism cannot achieve a desired +translation, the user may provide a function which provides the +required algorithim. Such a translation function is specified by +supplying a list as the second <code>directory-designator</code> +the first element of which is the keyword <code>:function</code>, +and the second element of which is +either a symbol which designates a function or a lambda expression. +The function designated by the second argument must take two arguments, +the first being the pathname of the source file, +the second being the wildcard that was matched. +The result of the function invocation should be the translated pathname. + + <p>An <code>:inherit-configuration</code> statement cause the search to recurse with the path +specifications from the next configuration. +See <a href="#Controlling-where-ASDF-saves-compiled-files">Configurations</a>, above. + + <ul> +<li><code>:enable-user-cache</code> is the same as <code>(t :user-cache)</code>. +<li><code>:disable-cache</code> is the same as <code>(t t)</code>. +<li><code>:user-cache</code> uses the contents of variable <code>asdf::*user-cache*</code> +which by default is the same as using +<code>(:home ".cache" "common-lisp" :implementation)</code>. +<li><code>:system-cache</code> uses the contents of variable <code>asdf::*system-cache*</code> +which by default is the same as using +<code>("/var/cache/common-lisp" :uid :implementation-type)</code> +(on Unix and cygwin), or something semi-sensible on Windows. +</ul> + +<h3 class="section">8.4 Configuration Directories</h3> + +<p>Configuration directories consist in files each contains +a list of directives without any enclosing +<code>(:output-translations ...)</code> form. +The files will be sorted by namestring as if by <code>string<</code> and +the lists of directives of these files with be concatenated in order. +An implicit <code>:inherit-configuration</code> will be included +at the <em>end</em> of the list. + + <p>This allows for packaging software that has file granularity +(e.g. Debian's <samp><span class="command">dpkg</span></samp> or some future version of <samp><span class="command">clbuild</span></samp>) +to easily include configuration information about software being distributed. + + <p>The convention is that, for sorting purposes, +the names of files in such a directory begin with two digits +that determine the order in which these entries will be read. +Also, the type of these files is conventionally <code>"conf"</code> +and as a limitation of some implementations, the type cannot be <code>nil</code>. + + <p>Directories may be included by specifying a directory pathname +or namestring in an <code>:include</code> directive, e.g.: +<pre class="verbatim"> (:include "/foo/bar/") +</pre> + +<h3 class="section">8.5 Shell-friendly syntax for configuration</h3> + +<p>When considering environment variable <code>ASDF_OUTPUT_TRANSLATIONS</code> +ASDF will skip to next configuration if it's an empty string. +It will <code>READ</code> the string as an SEXP in the DSL +if it begins with a paren <code>(</code> +and it will be interpreted as a list of directories. +Directories should come by pairs, indicating a mapping directive. +Entries are separated +by a <code>:</code> (colon) on Unix platforms (including cygwin), +by a <code>;</code> (semicolon) on other platforms (mainly, Windows). + + <p>The magic empty entry, +if it comes in what would otherwise be the first entry in a pair, +indicates the splicing of inherited configuration. +If it comes as the second entry in a pair, +it indicates that the directory specified first is to be left untranslated +(which has the same effect as if the directory had been repeated). + +<h3 class="section">8.6 Semantics of Output Translations</h3> + +<p>From the specified configuration, +a list of mappings is extracted in a straightforward way: +mappings are collected in order, recursing through +included or inherited configuration as specified. +To this list is prepended some implementation-specific mappings, +and is appended a global default. + + <p>The list is then compiled to a mapping table as follows: +for each entry, in order, resolve the first designated directory +into an actual directory pathname for source locations. +If no mapping was specified yet for that location, +resolve the second designated directory to an output location directory +add a mapping to the table mapping the source location to the output location, +and add another mapping from the output location to itself +(unless a mapping already exists for the output location). + + <p>Based on the table, a mapping function is defined, +mapping source pathnames to output pathnames: +given a source pathname, locate the longest matching prefix +in the source column of the mapping table. +Replace that prefix by the corresponding output column +in the same row of the table, and return the result. +If no match is found, return the source pathname. +(A global default mapping the filesystem root to itself +may ensure that there will always be a match, +with same fall-through semantics). + +<h3 class="section">8.7 Caching Results</h3> + +<p>The implementation is allowed to either eagerly compute the information +from the configurations and file system, or to lazily re-compute it +every time, or to cache any part of it as it goes. +To explicitly flush any information cached by the system, use the API below. + +<h3 class="section">8.8 Output location API</h3> + +<p>The specified functions are exported from package ASDF. + +<div class="defun"> +— Function: <b>initialize-output-translations</b><var> &optional PARAMETER<a name="index-initialize_002doutput_002dtranslations-60"></a></var><br> +<blockquote><p> will read the configuration and initialize all internal variables. + You may extend or override configuration + from the environment and configuration files + with the given <var>PARAMETER</var>, which can be + <code>nil</code> (no configuration override), + or a SEXP (in the SEXP DSL), + a string (as in the string DSL), + a pathname (of a file or directory with configuration), + or a symbol (fbound to function that when called returns one of the above). +</p></blockquote></div> + +<div class="defun"> +— Function: <b>disable-output-translations</b><var><a name="index-disable_002doutput_002dtranslations-61"></a></var><br> +<blockquote><p> will initialize output translations in a way + that maps every pathname to itself, + effectively disabling the output translation facility. +</p></blockquote></div> + +<div class="defun"> +— Function: <b>clear-output-translations</b><var><a name="index-clear_002doutput_002dtranslations-62"></a></var><br> +<blockquote><p> undoes any output translation configuration + and clears any cache for the mapping algorithm. + You might want to call this function + (or better, <code>clear-configuration</code>) + before you dump an image that would be resumed + with a different configuration, + and return an empty configuration. + Note that this does not include clearing information about + systems defined in the current image, only about + where to look for systems not yet defined. +</p></blockquote></div> + +<div class="defun"> +— Function: <b>ensure-output-translations</b><var> &optional PARAMETER<a name="index-ensure_002doutput_002dtranslations-63"></a></var><br> +<blockquote><p> checks whether output translations have been initialized. + If not, initialize them with the given <var>PARAMETER</var>. + This function will be called before any attempt to operate on a system. +</p></blockquote></div> + +<div class="defun"> +— Function: <b>apply-output-translations</b><var> PATHNAME<a name="index-apply_002doutput_002dtranslations-64"></a></var><br> +<blockquote><p> Applies the configured output location translations to <var>PATHNAME</var> + (calls <code>ensure-output-translations</code> for the translations). +</p></blockquote></div> + + <p>Every time you use ASDF's <code>output-files</code>, or +anything that uses it (that may compile, such as <code>operate</code>, <code>perform</code>, etc.), +<code>ensure-output-translations</code> is called with parameter <code>nil</code>, +which the first time around causes your configuration to be read. +If you change a configuration file, +you need to explicitly <code>initialize-output-translations</code> again, +or maybe <code>clear-output-translations</code> (or <code>clear-configuration</code>), +which will cause the initialization to happen next time around. + +<h3 class="section">8.9 Credits for output translations</h3> + +<p>Thanks a lot to Bjorn Lindberg and Gary King for <code>ASDF-Binary-Locations</code>, +and to Peter van Eynde for <code>Common Lisp Controller</code>. + + <p>All bad design ideas and implementation bugs are to mine, not theirs. +But so are good design ideas and elegant implementation tricks. + + <p>— Francois-Rene Rideau <a href="mailto:fare@tunes.org">fare@tunes.org</a> + +<!-- @section Default locations --> +<!-- @findex output-files-for-system-and-operation --> +<!-- The default binary location for each Lisp implementation --> +<!-- is a subdirectory of each source directory. --> +<!-- To account for different Lisps, Operating Systems, Implementation versions, --> +<!-- and so on, ASDF borrows code from SLIME --> +<!-- to create reasonable custom directory names. --> +<!-- Here are some examples: --> +<!-- @itemize --> +<!-- @item --> +<!-- SBCL, version 1.0.45 on Mac OS X for Intel: @code{sbcl-1.0.45-darwin-x86} --> +<!-- @item --> +<!-- Franz Allegro, version 8.0, ANSI Common Lisp: @code{allegro-8.0a-macosx-x86} --> +<!-- @item --> +<!-- Franz Allegro, version 8.1, Modern (case sensitive) Common Lisp: @code{allegro-8.1m-macosx-x86} --> +<!-- @end itemize --> +<!-- By default, all output file pathnames will be relocated --> +<!-- to some thus-named subdirectory of @file{~/.cache/common-lisp/}. --> +<!-- See the document @file{README.asdf-output-translations} --> +<!-- for a full specification on how to configure @code{asdf-output-translations}. --> +<p><a name="Error-handling"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">9 Error handling</h2> + +<p><a name="index-SYSTEM_002dDEFINITION_002dERROR-65"></a><a name="index-OPERATION_002dERROR-66"></a> + +<h3 class="section">9.1 ASDF errors</h3> + +<p>If ASDF detects an incorrect system definition, it will signal a generalised instance of +<code>SYSTEM-DEFINITION-ERROR</code>. + + <p>Operations may go wrong (for example when source files contain errors). +These are signalled using generalised instances of +<code>OPERATION-ERROR</code>. + +<h3 class="section">9.2 Compilation error and warning handling</h3> + +<p><a name="index-g_t_002acompile_002dfile_002dwarnings_002dbehaviour_002a-67"></a><a name="index-g_t_002acompile_002dfile_002derrors_002dbehavior_002a-68"></a> +ASDF checks for warnings and errors when a file is compiled. +The variables <var>*compile-file-warnings-behaviour*</var> and +<var>*compile-file-errors-behavior*</var> +control the handling of any such events. +The valid values for these variables are +<code>:error</code>, <code>:warn</code>, and <code>:ignore</code>. + +<p><a name="Miscellaneous-additional-functionality"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">10 Miscellaneous additional functionality</h2> + +<p>ASDF includes several additional features that are generally +useful for system definition and development. + +<h3 class="section">10.1 Controlling file compilation</h3> + +<p><a name="index-g_t_003aaround_002dcompile-69"></a><a name="index-around_002dcompile-keyword-70"></a><a name="index-compile_002dcheck-keyword-71"></a><a name="index-g_t_003acompile_002dcheck-72"></a><a name="index-compile_002dfile_002a-73"></a> +When declaring a component (system, module, file), +you can specify a keyword argument <code>:around-compile function</code>. +If left unspecified (and therefore unbound), +the value will be inherited from the parent component if any, +or with a default of <code>nil</code> +if no value is specified in any transitive parent. + + <p>The argument must be a either <code>nil</code>, a fbound symbol, +a lambda-expression (e.g. <code>(lambda (thunk) ...(funcall thunk ...) ...)</code>) +a function object (e.g. using <code>#.#'</code> but that's discouraged +because it prevents the introspection done by e.g. asdf-dependency-grovel), +or a string that when <code>read</code> yields a symbol or a lambda-expression. +<code>nil</code> means the normal compile-file function will be called. +A non-nil value designates a function of one argument +that will be called with a function that will +invoke <code>compile-file*</code> with various arguments; +the around-compile hook may supply additional keyword arguments +to pass to that call to <code>compile-file*</code>. + + <p>One notable argument that is heeded by <code>compile-file*</code> is +<code>:compile-check</code>, +a function called when the compilation was otherwise a success, +with the same arguments as <code>compile-file</code>; +the function shall return true if the compilation +and its resulting compiled file respected all system-specific invariants, +and false (<code>nil</code>) if it broke any of those invariants; +it may issue warnings or errors before it returns <code>nil</code>. +(NB: The ability to pass such extra flags +is only available starting with ASDF 2.22.3.) +This feature is notably exercised by asdf-finalizers. + + <p>By using a string, you may reference +a function, symbol and/or package +that will only be created later during the build, but +isn't yet present at the time the defsystem form is evaluated. +However, if your entire system is using such a hook, you may have to +explicitly override the hook with <code>nil</code> for all the modules and files +that are compiled before the hook is defined. + + <p>Using this hook, you may achieve such effects as: +locally renaming packages, +binding <var>*readtables*</var> and other syntax-controlling variables, +handling warnings and other conditions, +proclaiming consistent optimization settings, +saving code coverage information, +maintaining meta-data about compilation timings, +setting gensym counters and PRNG seeds and other sources of non-determinism, +overriding the source-location and/or timestamping systems, +checking that some compile-time side-effects were properly balanced, +etc. + + <p>Note that there is no around-load hook. This is on purpose. +Some implementations such as ECL, GCL or MKCL link object files, +which allows for no such hook. +Other implementations allow for concatenating FASL files, +which doesn't allow for such a hook either. +We aim to discourage something that's not portable, +and has some dubious impact on performance and semantics +even when it is possible. +Things you might want to do with an around-load hook +are better done around-compile, +though it may at times require some creativity +(see e.g. the <code>package-renaming</code> system). + +<h3 class="section">10.2 Controlling source file character encoding</h3> + +<p>Starting with ASDF 2.21, components accept a <code>:encoding</code> option +so authors may specify which character encoding should be used +to read and evaluate their source code. +When left unspecified, the encoding is inherited +from the parent module or system; +if no encoding is specified at any point, +the default <code>:autodetect</code> is assumed. +By default, only <code>:default</code>, <code>:utf-8</code> +and <code>:autodetect</code> are accepted. +<code>:autodetect</code>, the default, calls +<code>*encoding-detection-hook*</code> which by default always returns +<code>*default-encoding*</code> which itself defaults to <code>:default</code>. + + <p>In other words, there now are plenty of extension hooks, but +by default ASDF follows the backwards compatible behavior +of using whichever <code>:default</code> encoding your implementation uses, +which itself may or may not vary based on environment variables +and other locale settings. +In practice this means that only source code that only uses ASCII +is guaranteed to be read the same on all implementations +independently from any user setting. + + <p>Additionally, for backward-compatibility with older versions of ASDF +and/or with implementations that do not support unicode and its many encodings, +you may want to use +the reader conditionals <code>#+asdf-unicode #+asdf-unicode</code> +to protect any <code>:encoding </code><em>encoding</em> statement +as <code>:asdf-unicode</code> will be present in <code>*features*</code> +only if you're using a recent ASDF +on an implementation that supports unicode. +We recommend that you avoid using unprotected <code>:encoding</code> specifications +until after ASDF 2.21 or later becomes widespread, hopefully by the end of 2012. + + <p>While it offers plenty of hooks for extension, +and one such extension is being developed (see below), +ASDF itself only recognizes one encoding beside <code>:default</code>, +and that is <code>:utf-8</code>, which is the <em>de facto</em> standard, +already used by the vast majority of libraries that use more than ASCII. +On implementations that do not support unicode, +the feature <code>:asdf-unicode</code> is absent, and +the <code>:default</code> external-format is used +to read even source files declared as <code>:utf-8</code>. +On these implementations, non-ASCII characters +intended to be read as one CL character +may thus end up being read as multiple CL characters. +In most cases, this shouldn't affect the software's semantics: +comments will be skipped just the same, strings with be read and printed +with slightly different lengths, symbol names will be accordingly longer, +but none of it should matter. +But a few systems that actually depend on unicode characters +may fail to work properly, or may work in a subtly different way. +See for instance <code>lambda-reader</code>. + + <p>We invite you to embrace UTF-8 +as the encoding for non-ASCII characters starting today, +even without any explicit specification in your <code>.asd</code> files. +Indeed, on some implementations and configurations, +UTF-8 is already the <code>:default</code>, +and loading your code may cause errors if it is encoded in anything but UTF-8. +Therefore, even with the legacy behavior, +non-UTF-8 is guaranteed to break for some users, +whereas UTF-8 is pretty much guaranteed not to break anywhere +(provided you do <em>not</em> use a BOM), +although it might be read incorrectly on some implementations. +In the future, we intend to make <code>:utf-8</code> +the default value of <code>*default-encoding*</code>, +to be enforced everywhere, so at least the code is guaranteed +to be read correctly everywhere it can be. + + <p>If you need non-standard character encodings for your source code, +use the extension system <code>asdf-encodings</code>, by specifying +<code>:defsystem-depends-on (:asdf-encodings)</code> in your <code>defsystem</code>. +This extension system will register support for more encodings using the +<code>*encoding-external-format-hook*</code> facility, +so you can explicitly specify <code>:encoding :latin1</code> +in your <code>.asd</code> file. +Using the <code>*encoding-detection-hook*</code> it will also +eventually implement some autodetection of a file's encoding +from an emacs-style <code>-*- mode: lisp ; coding: latin1 -*-</code> declaration, +or otherwise based on an analysis of octet patterns in the file. +At this point, asdf-encoding only supports the encodings +that are supported as part of your implementation. +Since the list varies depending on implementations, +we once again recommend you use <code>:utf-8</code> everywhere, +which is the most portable (next is <code>:latin1</code>). + + <p>If you're not using a version of Quicklisp that has it, +you may get the source for <code>asdf-encodings</code> using git: +<kbd>git clone git://common-lisp.net/projects/asdf/asdf-encodings.git</kbd> +or +<kbd>git clone ssh://common-lisp.net/project/asdf/git/asdf-encodings.git</kbd>. +You can also browse the repository on +<a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf-encodings.git">http://common-lisp.net/gitweb?p=projects/asdf/asdf-encodings.git</a>. + + <p>In the future, we intend to change the default <code>*default-encoding*</code> +to <code>:utf-8</code>, which is already the de facto standard +for most libraries that use non-ASCII characters: +utf-8 works everywhere and was backhandedly enforced by +a lot of people using SBCL and utf-8 and sending reports to authors +so they make their packages compatible. +A survey showed only about a handful few libraries +are incompatible with non-UTF-8, and then, only in comments, +and we believe that authors will adopt UTF-8 when prompted. +See the April 2012 discussion on the asdf-devel mailing-list. +For backwards compatibility with users who insist on a non-UTF-8 encoding, +but cannot immediately transition to using <code>asdf-encodings</code> +(maybe because it isn't ready), it will still be possible to use +the <code>:encoding :default</code> option in your <code>defsystem</code> form +to restore the behavior of ASDF 2.20 and earlier. +This shouldn't be required in libraries, +because user pressure as mentioned above will already have pushed +library authors towards using UTF-8; +but authors of end-user programs might care. + + <p>When you use <code>asdf-encodings</code>, any further loaded <code>.asd</code> file +will use the autodetection algorithm to determine its encoding; +yet if you depend on this detection happening, +you may want to explicitly load <code>asdf-encodings</code> early in your build, +for by the time you can use <code>:defsystem-depends-on</code>, +it is already too late to load it. +In practice, this means that the <code>*default-encoding*</code> +is usually used for <code>.asd</code> files. +Currently, this defaults to <code>:default</code> for backwards compatibility, +and that means that you shouldn't rely on non-ASCII characters in a .asd file. +Since component (path)names are the only real data in these files, +and non-ASCII characters are not very portable for file names, +this isn't too much of an issue. +We still encourage you to use either plain ASCII or UTF-8 +in <code>.asd</code> files, +as we intend to make <code>:utf-8</code> the default encoding in the future. +This might matter, for instance, in meta-data about author's names. + +<h3 class="section">10.3 Miscellaneous Functions</h3> + +<p>These functions are exported by ASDF for your convenience. + +<div class="defun"> +— Function: <b>system-relative-pathname</b><var> system name &key type<a name="index-system_002drelative_002dpathname-74"></a></var><br> +<blockquote> + <p>It's often handy to locate a file relative to some system. +The <code>system-relative-pathname</code> function meets this need. + + <p>It takes two mandatory arguments <var>system</var> and <var>name</var> +and a keyword argument <var>type</var>: +<var>system</var> is name of a system, whereas <var>name</var> and optionally <var>type</var> +specify a relative pathname, interpreted like a component pathname specifier +by <code>coerce-pathname</code>. See <a href="#The-defsystem-grammar">Pathname specifiers</a>. + + <p>It returns a pathname built from the location of the system's +source directory and the relative pathname. For example: + + <pre class="lisp"> > (asdf:system-relative-pathname 'cl-ppcre "regex.data") + #P"/repository/other/cl-ppcre/regex.data" +</pre> + </blockquote></div> + +<div class="defun"> +— Function: <b>system-source-directory</b><var> system-designator<a name="index-system_002dsource_002ddirectory-75"></a></var><br> +<blockquote> + <p>ASDF does not provide a turnkey solution for locating +data (or other miscellaneous) files +that are distributed together with the source code of a system. +Programmers can use <code>system-source-directory</code> to find such files. +Returns a pathname object. +The <var>system-designator</var> may be a string, symbol, or ASDF system object. +</p></blockquote></div> + +<div class="defun"> +— Function: <b>clear-system</b><var> system-designator<a name="index-clear_002dsystem-76"></a></var><br> +<blockquote> + <p>It is sometimes useful to force recompilation of a previously loaded system. +In these cases, it may be useful to <code>(asdf:clear-system :foo)</code> +to remove the system from the table of currently loaded systems; +the next time the system <code>foo</code> or one that depends on it is re-loaded, +<code>foo</code> will then be loaded again. +Alternatively, you could touch <code>foo.asd</code> or +remove the corresponding fasls from the output file cache. +(It was once conceived that one should provide +a list of systems the recompilation of which to force +as the <code>:force</code> keyword argument to <code>load-system</code>; +but this has never worked, and though the feature was fixed in ASDF 2.000, +it remains <code>cerror</code>'ed out as nobody ever used it.) + + <p>Note that this does not and cannot by itself undo the previous loading +of the system. Common Lisp has no provision for such an operation, +and its reliance on irreversible side-effects to global datastructures +makes such a thing impossible in the general case. +If the software being re-loaded is not conceived with hot upgrade in mind, +this re-loading may cause many errors, warnings or subtle silent problems, +as packages, generic function signatures, structures, types, macros, constants, etc. +are being redefined incompatibly. +It is up to the user to make sure that reloading is possible and has the desired effect. +In some cases, extreme measures such as recursively deleting packages, +unregistering symbols, defining methods on <code>update-instance-for-redefined-class</code> +and much more are necessary for reloading to happen smoothly. +ASDF itself goes through notable pains to make such a hot upgrade possible +with respect to its own code, and what it does is ridiculously complex; +look at the beginning of <samp><span class="file">asdf.lisp</span></samp> to see what it does. +</p></blockquote></div> + +<div class="defun"> +— Function: <b>register-preloaded-system</b><var> name &rest keys<a name="index-register_002dpreloaded_002dsystem-77"></a></var><br> +<blockquote><p>A system with name <var>name</var>, +created by <code>make-instance</code> with extra keys <var>keys</var> +(e.g. <code>:version</code>), +is registered as <em>preloaded</em>. +That is, its code has already been loaded into the current image, +and if at some point some other system <code>:depends-on</code> it yet no source code is found, +it is considered as already provided, +and ASDF will not raise a <code>missing-component</code> error. + + <p>This function is particularly useful if you distribute your code +as fasls with either <code>fasl-op</code> or <code>monolithic-fasl-op</code>, +and want to register systems so that dependencies will work uniformly +whether you're using your software from source or from fasl. +</p></blockquote></div> + +<div class="defun"> +— Function: <b>run-shell-command</b><var> control-string &rest args<a name="index-run_002dshell_002dcommand-78"></a></var><br> +<blockquote> + <p>This function is obsolete and present only for the sake of backwards-compatibility: +“If it's not backwards, it's not compatible”. We <em>strongly</em> discourage its use. +Its current behavior is only well-defined on Unix platforms +(which include MacOS X and cygwin). On Windows, anything goes. +The following documentation is only for the purpose of your migrating away from it +in a way that preserves semantics. + + <p>Instead we recommend the use <code>run-program</code>, described in the next section, and +available as part of ASDF since ASDF 3. + + <p><code>run-shell-command</code> takes as arguments a format <code>control-string</code> +and arguments to be passed to <code>format</code> after this control-string +to produce a string. +This string is a command that will be evaluated with a POSIX shell if possible; +yet, on Windows, some implementations will use CMD.EXE, +while others (like SBCL) will make an attempt at invoking a POSIX shell +(and fail if it is not present). +</p></blockquote></div> + +<h3 class="section">10.4 Some Utility Functions</h3> + +<p>The below functions are not exported by ASDF itself, but by UIOP, available since ASDF 3. +Some of them have precursors in ASDF 2, but we recommend +you rely on ASDF 3 for active developments. +UIOP provides many, many more utility functions, and we recommend +you read its README and sources for more information. + +<div class="defun"> +— Function: <b>parse-unix-namestring</b><var> name &key type defaults dot-dot ensure-directory &allow-other-keys<a name="index-parse_002dunix_002dnamestring-79"></a></var><br> +<blockquote><p>Coerce NAME into a PATHNAME using standard Unix syntax. + + <p>Unix syntax is used whether or not the underlying system is Unix; +on such non-Unix systems it is only usable but for relative pathnames; +but especially to manipulate relative pathnames portably, it is of crucial +to possess a portable pathname syntax independent of the underlying OS. +This is what <code>parse-unix-namestring</code> provides, and why we use it in ASDF. + + <p>When given a <code>pathname</code> object, just return it untouched. +When given <code>nil</code>, just return <code>nil</code>. +When given a non-null <code>symbol</code>, first downcase its name and treat it as a string. +When given a <code>string</code>, portably decompose it into a pathname as below. + + <p><code>#\/</code> separates directory components. + + <p>The last <code>#\/</code>-separated substring is interpreted as follows: +1- If <var>type</var> is <code>:directory</code> or <var>ensure-directory</var> is true, + the string is made the last directory component, and its <code>name</code> and <code>type</code> are <code>nil</code>. + if the string is empty, it's the empty pathname with all slots <code>nil</code>. +2- If <var>type</var> is <code>nil</code>, the substring is a file-namestring, + and its <code>name</code> and <code>type</code> are separated by <code>split-name-type</code>. +3- If <var>type</var> is a string, it is the given <code>type</code>, and the whole string is the <code>name</code>. + + <p>Directory components with an empty name the name <code>.</code> are removed. +Any directory named <code>..</code> is read as <var>dot-dot</var>, +which must be one of <code>:back</code> or <code>:up</code> and defaults to <code>:back</code>. + + <p><code>host</code>, <code>device</code> and <code>version</code> components are taken from <var>defaults</var>, +which itself defaults to <code>*nil-pathname*</code>, also used if <var>defaults</var> is <code>nil</code>. +No host or device can be specified in the string itself, +which makes it unsuitable for absolute pathnames outside Unix. + + <p>For relative pathnames, these components (and hence the defaults) won't matter +if you use <code>merge-pathnames*</code> but will matter if you use <code>merge-pathnames</code>, +which is an important reason to always use <code>merge-pathnames*</code>. + + <p>Arbitrary keys are accepted, and the parse result is passed to <code>ensure-pathname</code> +with those keys, removing <var>type</var>, <var>defaults</var> and <var>dot-dot</var>. +When you're manipulating pathnames that are supposed to make sense portably +even though the OS may not be Unixish, we recommend you use <code>:want-relative t</code> +to throw an error if the pathname is absolute +</p></blockquote></div> + +<div class="defun"> +— Function: <b>merge-pathnames*</b><var> specified &optional defaults<a name="index-merge_002dpathnames_002a-80"></a></var><br> +<blockquote> + <p>This function is a replacement for <code>merge-pathnames</code> that uses the host and device +from the <var>defaults</var> rather than the <var>specified</var> pathname when the latter +is a relative pathname. This allows ASDF and its users to create and use relative pathnames +without having to know beforehand what are the host and device +of the absolute pathnames they are relative to. + + </blockquote></div> + +<div class="defun"> +— Function: <b>subpathname</b><var> pathname subpath &key type<a name="index-subpathname-81"></a></var><br> +<blockquote> + <p>This function takes a <var>pathname</var> and a <var>subpath</var> and a <var>type</var>. +If <var>subpath</var> is already a <code>pathname</code> object (not namestring), +and is an absolute pathname at that, it is returned unchanged; +otherwise, <var>subpath</var> is turned into a relative pathname with given <var>type</var> +as per <code>parse-unix-namestring</code> with <code>:want-relative t :type </code><var>type</var>, +then it is merged with the <code>pathname-directory-pathname</code> of <var>pathname</var>, +as per <code>merge-pathnames*</code>. + + <p>We strongly encourage the use of this function +for portably resolving relative pathnames in your code base. +</p></blockquote></div> + +<div class="defun"> +— Function: <b>subpathname*</b><var> pathname subpath &key type<a name="index-subpathname_002a-82"></a></var><br> +<blockquote> + <p>This function returns <code>nil</code> if the base <var>pathname</var> is <code>nil</code>, +otherwise acts like <code>subpathname</code>. +</p></blockquote></div> + +<div class="defun"> +— Function: <b>run-program</b><var> command &key ignore-error-status force-shell input output error-output<a name="index-run_002dprogram-83"></a></var><br> +<blockquote><p> if-input-does-not-exist if-output-exists if-error-output-exists + element-type external-format &allow-other-keys + + <p><code>run-program</code> takes a <var>command</var> argument that is either +a list of a program name or path and its arguments, +or a string to be executed by a shell. +It spawns the command, waits for it to return, +verifies that it exited cleanly (unless told not too below), +and optionally captures and processes its output. +It accepts many keyword arguments to configure its behavior. + + <p><code>run-program</code> returns three values: the first for the output, +the second for the error-output, and the third for the return value. +(Beware that before ASDF 3.0.2.11, it didn't handle input or error-output, +and returned only one value, +the one for the output if any handler was specified, or else the exit code; +please upgrade ASDF, or at least UIOP, to rely on the new enhanced behavior.) + + <p><var>output</var> is its most important argument; +it specifies how the output is captured and processed. +If it is <code>nil</code>, then the output is redirected to the null device, +that will discard it. +If it is <code>:interactive</code>, then it is inherited from the current process +(beware: this may be different from your <var>*standard-output*</var>, +and under SLIME will be on your <code>*inferior-lisp*</code> buffer). +If it is <code>t</code>, output goes to your current <var>*standard-output*</var> stream. +Otherwise, <var>output</var> should be a value that is a suitable first argument to +<code>slurp-input-stream</code> (see below), or +a list of such a value and keyword arguments. +In this case, <code>run-program</code> will +create a temporary stream for the program output; +the program output, in that stream, +will be processed by a call to <code>slurp-input-stream</code>, +using <var>output</var> as the first argument +(or if it's a list the first element of <var>output</var> and the rest as keywords). +The primary value resulting from that call +(or <code>nil</code> if no call was needed) +will be the first value returned by <code>run-program</code>. +E.g., using <code>:output :string</code> +will have it return the entire output stream as a string. +And using <code>:output '(:string :stripped t)</code> +will have it return the same string stripped of any ending newline. + + <p><var>error-output</var> is similar to <var>output</var>, except that +the resulting value is returned as the second value of <code>run-program</code>. +<code>t</code> designates the <var>*error-output*</var>. +Also <code>:output</code> means redirecting the error output to the output stream, +in which case <code>nil</code> is returned. + + <p><var>input</var> is similar to <var>output</var>, except that +<code>vomit-output-stream</code> is used, no value is returned, +and <code>t</code> designates the <var>*standard-input*</var>. + + <p><code>element-type</code> and <code>external-format</code> are passed on +to your Lisp implementation, when applicable, for creation of the output stream. + + <p>One and only one of the stream slurping or vomiting may or may not happen +in parallel in parallel with the subprocess, +depending on options and implementation, +and with priority being given to output processing. +Other streams are completely produced or consumed +before or after the subprocess is spawned, using temporary files. + + <p><code>force-shell</code> forces evaluation of the command through a shell, +even if it was passed as a list rather than a string. +If a shell is used, it is <samp><span class="file">/bin/sh</span></samp> on Unix or <samp><span class="file">CMD.EXE</span></samp> on Windows, +except on implementations that (erroneously, IMNSHO) +insist on consulting <code>$SHELL</code> like clisp. + + <p><code>ignore-error-status</code> causes <code>run-program</code> +to not raise an error if the spawned program exits in error. +Following POSIX convention, an error is anything but +a normal exit with status code zero. +By default, an error of type <code>subprocess-error</code> is raised in this case. + + <p><code>run-program</code> works on all platforms supported by ASDF, except Genera. +See the source code for more documentation. + + </blockquote></div> + +<div class="defun"> +— Function: <b>slurp-input-stream</b><var> processor input-stream &key<a name="index-slurp_002dinput_002dstream-84"></a></var><br> +<blockquote> + <p>It's a generic function of two arguments, a target object and an input stream, +and accepting keyword arguments. +Predefined methods based on the target object are as follow: + + <p>If the object is a function, the function is called with the stream as argument. + + <p>If the object is a cons, its first element is applied to its rest appended by +a list of the input stream. + + <p>If the object is an output stream, the contents of the input stream are copied to it. +If the <var>linewise</var> keyword argument is provided, copying happens line by line, +and an optional <var>prefix</var> is printed before each line. +Otherwise, copying happen based on a buffer of size <var>buffer-size</var>, +using the specified <var>element-type</var>. + + <p>If the object is <code>'string</code> or <code>:string</code>, the content is captured into a string. +Accepted keywords include the <var>element-type</var> and a flag <var>stripped</var>, +which when true causes any single line ending to be removed as per <code>uiop:stripln</code>. + + <p>If the object is <code>:lines</code>, the content is captured as a list of strings, +one per line, without line ending. If the <var>count</var> keyword argument is provided, +it is a maximum count of lines to be read. + + <p>If the object is <code>:line</code>, the content is capture as with <code>:lines</code> above, +and then its sub-object is extracted with the <var>at</var> argument, +which defaults to <code>0</code>, extracting the first line. +A number will extract the corresponding line. +See the documentation for <code>uiop:access-at</code>. + + <p>If the object is <code>:forms</code>, the content is captured as a list of S-expressions, +as read by the Lisp reader. +If the <var>count</var> argument is provided, +it is a maximum count of lines to be read. +We recommend you control the syntax with such macro as +<code>uiop:with-safe-io-syntax</code>. + + <p>If the object is <code>:form</code>, the content is capture as with <code>:forms</code> above, +and then its sub-object is extracted with the <var>at</var> argument, +which defaults to <code>0</code>, extracting the first form. +A number will extract the corresponding form. +See the documentation for <code>uiop:access-at</code>. +We recommend you control the syntax with such macro as +<code>uiop:with-safe-io-syntax</code>. + + </blockquote></div> + +<p><a name="Getting-the-latest-version"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">11 Getting the latest version</h2> + +<p>Decide which version you want. +The <code>master</code> branch is where development happens; +its <code>HEAD</code> is usually OK, including the latest fixes and portability tweaks, +but an occasional regression may happen despite our (limited) test suite. + + <p>The <code>release</code> branch is what cautious people should be using; +it has usually been tested more, and releases are cut at a point +where there isn't any known unresolved issue. + + <p>You may get the ASDF source repository using git: +<kbd>git clone git://common-lisp.net/projects/asdf/asdf.git</kbd> + + <p>You will find the above referenced tags in this repository. +You can also browse the repository on +<a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git">http://common-lisp.net/gitweb?p=projects/asdf/asdf.git</a>. + + <p>Discussion of ASDF development is conducted on the +mailing list +<kbd>asdf-devel@common-lisp.net</kbd>. +<a href="http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel">http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel</a> + +<p><a name="FAQ"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">12 FAQ</h2> + +<h3 class="section">12.1 “Where do I report a bug?”</h3> + +<p>ASDF bugs are tracked on launchpad: <a href="https://launchpad.net/asdf">https://launchpad.net/asdf</a>. + + <p>If you're unsure about whether something is a bug, or for general discussion, +use the <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel">asdf-devel mailing list</a> + +<h3 class="section">12.2 “What has changed between ASDF 1 and ASDF 2?”</h3> + +<h4 class="subsection">12.2.1 What are ASDF 1 and ASDF 2?</h4> + +<p>On May 31st 2010, we have released ASDF 2. +ASDF 2 refers to release 2.000 and later. +(Releases between 1.656 and 1.728 were development releases for ASDF 2.) +ASDF 1 to any release earlier than 1.369 or so. +If your ASDF doesn't sport a version, it's an old ASDF 1. + + <p>ASDF 2 and its release candidates push +<code>:asdf2</code> onto <code>*features*</code> so that if you are writing +ASDF-dependent code you may check for this feature +to see if the new API is present. +<em>All</em> versions of ASDF should have the <code>:asdf</code> feature. + + <p>Additionally, all versions of ASDF 2 +define a function <code>(asdf:asdf-version)</code> you may use to query the version; +and the source code of recent versions of ASDF 2 features the version number +prominently on the second line of its source code. + + <p>If you are experiencing problems or limitations of any sort with ASDF 1, +we recommend that you should upgrade to ASDF 2, +or whatever is the latest release. + +<h4 class="subsection">12.2.2 ASDF can portably name files in subdirectories</h4> + +<p>Common Lisp namestrings are not portable, +except maybe for logical pathnamestrings, +that themselves have various limitations and require a lot of setup +that is itself ultimately non-portable. + + <p>In ASDF 1, the only portable ways to refer to pathnames inside systems and components +were very awkward, using <code>#.(make-pathname ...)</code> and +<code>#.(merge-pathnames ...)</code>. +Even the above were themselves were inadequate in the general case +due to host and device issues, unless horribly complex patterns were used. +Plenty of simple cases that looked portable actually weren't, +leading to much confusion and greavance. + + <p>ASDF 2 implements its own portable syntax for strings as pathname specifiers. +Naming files within a system definition becomes easy and portable again. +See <a href="#Miscellaneous-additional-functionality">asdf:system-relative-pathname</a>, +<code>merge-pathnames*</code>, +<code>coerce-pathname</code>. + + <p>On the other hand, there are places where systems used to accept namestrings +where you must now use an explicit pathname object: +<code>(defsystem ... :pathname "LOGICAL-HOST:PATH;TO;SYSTEM;" ...)</code> +must now be written with the <code>#p</code> syntax: +<code>(defsystem ... :pathname #p"LOGICAL-HOST:PATH;TO;SYSTEM;" ...)</code> + + <p>See <a href="#The-defsystem-grammar">Pathname specifiers</a>. + +<h4 class="subsection">12.2.3 Output translations</h4> + +<p>A popular feature added to ASDF was output pathname translation: +<code>asdf-binary-locations</code>, <code>common-lisp-controller</code>, +<code>cl-launch</code> and other hacks were all implementing it in ways +both mutually incompatible and difficult to configure. + + <p>Output pathname translation is essential to share +source directories of portable systems across multiple implementations +or variants thereof, +or source directories of shared installations of systems across multiple users, +or combinations of the above. + + <p>In ASDF 2, a standard mechanism is provided for that, +<code>asdf-output-translations</code>, +with sensible defaults, adequate configuration languages, +a coherent set of configuration files and hooks, +and support for non-Unix platforms. + + <p>See <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a>. + +<h4 class="subsection">12.2.4 Source Registry Configuration</h4> + +<p>Configuring ASDF used to require special magic +to be applied just at the right moment, +between the moment ASDF is loaded and the moment it is used, +in a way that is specific to the user, +the implementation he is using and the application he is building. + + <p>This made for awkward configuration files and startup scripts +that could not be shared between users, managed by administrators +or packaged by distributions. + + <p>ASDF 2 provides a well-documented way to configure ASDF, +with sensible defaults, adequate configuration languages, +and a coherent set of configuration files and hooks. + + <p>We believe it's a vast improvement because it decouples +application distribution from library distribution. +The application writer can avoid thinking where the libraries are, +and the library distributor (dpkg, clbuild, advanced user, etc.) +can configure them once and for every application. +Yet settings can be easily overridden where needed, +so whoever needs control has exactly as much as required. + + <p>At the same time, ASDF 2 remains compatible +with the old magic you may have in your build scripts +(using <code>*central-registry*</code> and +<code>*system-definition-search-functions*</code>) +to tailor the ASDF configuration to your build automation needs, +and also allows for new magic, simpler and more powerful magic. + + <p>See <a href="#Controlling-where-ASDF-searches-for-systems">Controlling where ASDF searches for systems</a>. + +<h4 class="subsection">12.2.5 Usual operations are made easier to the user</h4> + +<p>In ASDF 1, you had to use the awkward syntax +<code>(asdf:oos 'asdf:load-op :foo)</code> +to load a system, +and similarly for <code>compile-op</code>, <code>test-op</code>. + + <p>In ASDF 2, you can use shortcuts for the usual operations: +<code>(asdf:load-system :foo)</code>, and +similarly for <code>compile-system</code>, <code>test-system</code>. + +<h4 class="subsection">12.2.6 Many bugs have been fixed</h4> + +<p>The following issues and many others have been fixed: + + <ul> +<li>The infamous TRAVERSE function has been revamped completely +between ASDF 1 and ASDF 2, with many bugs squashed. +In particular, dependencies were not correctly propagated +across modules but now are. +It has been completely rewritten many times over +between ASDF 2.000 and ASDF 3, +with fundamental issues in the original model being fixed. +Timestamps were not propagated at all, and now are. +The internal model of how actions depend on each other +is now both consistent and complete. +The :version and +the :force (system1 .. systemN) feature have been fixed. + + <li>Performance has been notably improved for large systems +(say with thousands of components) by using +hash-tables instead of linear search, +and linear-time list accumulation +instead of quadratic-time recursive appends. + + <li>Many features used to not be portable, +especially where pathnames were involved. +Windows support was notably quirky because of such non-portability. + + <li>The internal test suite used to massively fail on many implementations. +While still incomplete, it now fully passes +on all implementations supported by the test suite, +except for GCL (due to GCL bugs). + + <li>Support was lacking for some implementations. +ABCL and GCL were notably wholly broken. +ECL extensions were not integrated with ASDF release. + + <li>The documentation was grossly out of date. + + </ul> + +<h4 class="subsection">12.2.7 ASDF itself is versioned</h4> + +<p>Between new features, old bugs fixed, and new bugs introduced, +there were various releases of ASDF in the wild, +and no simple way to check which release had which feature set. +People using or writing systems had to either make worst-case assumptions +as to what features were available and worked, +or take great pains to have the correct version of ASDF installed. + + <p>With ASDF 2, we provide a new stable set of working features +that everyone can rely on from now on. +Use <code>#+asdf2</code> to detect presence of ASDF 2, +<code>(asdf:version-satisfies (asdf:asdf-version) "2.345.67")</code> +to check the availability of a version no earlier than required. + +<h4 class="subsection">12.2.8 ASDF can be upgraded</h4> + +<p>When an old version of ASDF was loaded, +it was very hard to upgrade ASDF in your current image +without breaking everything. +Instead you had to exit the Lisp process and +somehow arrange to start a new one from a simpler image. +Something that can't be done from within Lisp, +making automation of it difficult, +which compounded with difficulty in configuration, +made the task quite hard. +Yet as we saw before, the task would have been required +to not have to live with the worst case or non-portable +subset of ASDF features. + + <p>With ASDF 2, it is easy to upgrade +from ASDF 2 to later versions from within Lisp, +and not too hard to upgrade from ASDF 1 to ASDF 2 from within Lisp. +We support hot upgrade of ASDF and any breakage is a bug +that we will do our best to fix. +There are still limitations on upgrade, though, +most notably the fact that after you upgrade ASDF, +you must also reload or upgrade all ASDF extensions. + +<h4 class="subsection">12.2.9 Decoupled release cycle</h4> + +<p>When vendors were releasing their Lisp implementations with ASDF, +they had to basically never change version +because neither upgrade nor downgrade was possible +without breaking something for someone, +and no obvious upgrade path was visible and recommendable. + + <p>With ASDF 2, upgrade is possible, easy and can be recommended. +This means that vendors can safely ship a recent version of ASDF, +confident that if a user isn't fully satisfied, +he can easily upgrade ASDF and deal +with a supported recent version of it. +This means that release cycles will be causally decoupled, +the practical consequence of which will mean faster convergence +towards the latest version for everyone. + +<h4 class="subsection">12.2.10 Pitfalls of the transition to ASDF 2</h4> + +<p>The main pitfalls in upgrading to ASDF 2 seem to be related +to the output translation mechanism. + + <ul> +<li>Output translations is enabled by default. This may surprise some users, +most of them in pleasant way (we hope), a few of them in an unpleasant way. +It is trivial to disable output translations. +See <a href="#FAQ">“How can I wholly disable the compiler output cache?”</a>. + + <li>Some systems in the large have been known +not to play well with output translations. +They were relatively easy to fix. +Once again, it is also easy to disable output translations, +or to override its configuration. + + <li>The new ASDF output translations are incompatible with ASDF-Binary-Locations. +They replace A-B-L, and there is compatibility mode to emulate +your previous A-B-L configuration. +See <code>enable-asdf-binary-locations-compatibility</code> in +see <a href="#Controlling-where-ASDF-saves-compiled-files">Backward Compatibility</a>. +But thou shalt not load ABL on top of ASDF 2. + + </ul> + + <p>Other issues include the following: + + <ul> +<li>ASDF pathname designators are now specified +in places where they were unspecified, +and a few small adjustments have to be made to some non-portable defsystems. +Notably, in the <code>:pathname</code> argument +to a <code>defsystem</code> and its components, +a logical pathname (or implementation-dependent hierarchical pathname) +must now be specified with <code>#p</code> syntax +where the namestring might have previously sufficed; +moreover when evaluation is desired <code>#.</code> must be used, +where it wasn't necessary in the toplevel <code>:pathname</code> argument +(but necessary in other <code>:pathname</code> arguments). + + <li>There is a slight performance bug, notably on SBCL, +when initially searching for <samp><span class="file">asd</span></samp> files, +the implicit <code>(directory "/configured/path/**/*.asd")</code> +for every configured path <code>(:tree "/configured/path/")</code> +in your <code>source-registry</code> configuration can cause a slight pause. +Try to <code>(time (asdf:initialize-source-registry))</code> +to see how bad it is or isn't on your system. +If you insist on not having this pause, +you can avoid the pause by overriding the default source-registry configuration +and not use any deep <code>:tree</code> entry but only <code>:directory</code> entries +or shallow <code>:tree</code> entries. +Or you can fix your implementation to not be quite that slow +when recursing through directories. +<em>Update</em>: This performance bug fixed the hard way in 2.010. + + <li>On Windows, only LispWorks supports proper default configuration pathnames +based on the Windows registry. +Other implementations make do with environment variables, +that you may have to define yourself +if you're using an older version of Windows. +Windows support is somewhat less tested than Unix support. +Please help report and fix bugs. +<em>Update</em>: As of ASDF 2.21, all implementations +should now use the same proper default configuration pathnames +and they should actually work, though they haven't all been tested. + + <li>The mechanism by which one customizes a system so that Lisp files +may use a different extension from the default <samp><span class="file">.lisp</span></samp> has changed. +Previously, the pathname for a component +was lazily computed when operating on a system, +and you would +<code>(defmethod source-file-type ((component cl-source-file) (system (eql (find-system 'foo)))) + (declare (ignorable component system)) "lis")</code>. +Now, the pathname for a component is eagerly computed when defining the system, +and instead you will <code>(defclass cl-source-file.lis (cl-source-file) ((type :initform "lis")))</code> +and use <code>:default-component-class cl-source-file.lis</code> +as argument to <code>defsystem</code>, +as detailed in a see <a href="#FAQ">How do I create a system definition where all the source files have a .cl extension?</a> below. + + <p><a name="index-source_002dfile_002dtype-85"></a> + + </ul> + +<h3 class="section">12.3 Issues with installing the proper version of ASDF</h3> + +<h4 class="subsection">12.3.1 “My Common Lisp implementation comes with an outdated version of ASDF. What to do?”</h4> + +<p>We recommend you upgrade ASDF. +See <a href="#Loading-ASDF">Upgrading ASDF</a>. + + <p>If this does not work, it is a bug, and you should report it. +See <a href="#FAQ">report-bugs</a>. +In the meantime, you can load <samp><span class="file">asdf.lisp</span></samp> directly. +See <a href="#Loading-ASDF">Loading an otherwise installed ASDF</a>. + +<h4 class="subsection">12.3.2 “I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?”</h4> + +<p>Since ASDF 2, +it should always be a good time to upgrade to a recent version of ASDF. +You may consult with the maintainer for which specific version they recommend, +but the latest <code>release</code> should be correct. +We trust you to thoroughly test it with your implementation +before you release it. +If there are any issues with the current release, +it's a bug that you should report upstream and that we will fix ASAP. + + <p>As to how to include ASDF, we recommend the following: + + <ul> +<li>If ASDF isn't loaded yet, then <code>(require "asdf")</code> +should load the version of ASDF that is bundled with your system. +If possible so should <code>(require "ASDF")</code>. +You may have it load some other version configured by the user, +if you allow such configuration. + + <li>If your system provides a mechanism to hook into <code>CL:REQUIRE</code>, +then it would be nice to add ASDF to this hook the same way that +ABCL, CCL, CLISP, CMUCL, ECL, SBCL and SCL do it. +Please send us appropriate code to this end. + + <li>You may, like SBCL, have ASDF be implicitly used to require systems +that are bundled with your Lisp distribution. +If you do have a few magic systems that come with your implementation +in a precompiled way such that one should only use the binary version +that goes with your distribution, like SBCL does, +then you should add them in the beginning of <code>wrapping-source-registry</code>. + + <li>If you have magic systems as above, like SBCL does, +then we explicitly ask you to <em>NOT</em> distribute +<samp><span class="file">asdf.asd</span></samp> as part of those magic systems. +You should still include the file <samp><span class="file">asdf.lisp</span></samp> in your source distribution +and precompile it in your binary distribution, +but <samp><span class="file">asdf.asd</span></samp> if included at all, +should be secluded from the magic systems, +in a separate file hierarchy. +Alternatively, you may provide the system +after renaming it and its <samp><span class="file">.asd</span></samp> file to e.g. +<code>asdf-ecl</code> and <samp><span class="file">asdf-ecl.asd</span></samp>, or +<code>sb-asdf</code> and <samp><span class="file">sb-asdf.asd</span></samp>. +Indeed, if you made <samp><span class="file">asdf.asd</span></samp> a magic system, +then users would no longer be able to upgrade ASDF using ASDF itself +to some version of their preference that +they maintain independently from your Lisp distribution. + + <li>If you do not have any such magic systems, or have other non-magic systems +that you want to bundle with your implementation, +then you may add them to the <code>wrapping-source-registry</code>, +and you are welcome to include <samp><span class="file">asdf.asd</span></samp> amongst them. +Non-magic systems should be at the back of the <code>wrapping-source-registry</code> +while magic systems are at the front. + + <li>Please send us upstream any patches you make to ASDF itself, +so we can merge them back in for the benefit of your users +when they upgrade to the upstream version. + + </ul> + +<h3 class="section">12.4 Issues with configuring ASDF</h3> + +<h4 class="subsection">12.4.1 “How can I customize where fasl files are stored?”</h4> + +<p>See <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a>. + + <p>Note that in the past there was an add-on to ASDF called +<code>ASDF-binary-locations</code>, developed by Gary King. +That add-on has been merged into ASDF proper, +then superseded by the <code>asdf-output-translations</code> facility. + + <p>Note that use of <code>asdf-output-translations</code> +can interfere with one aspect of your systems +— if your system uses <code>*load-truename*</code> to find files +(e.g., if you have some data files stored with your program), +then the relocation that this ASDF customization performs +is likely to interfere. +Use <code>asdf:system-relative-pathname</code> to locate a file +in the source directory of some system, and +use <code>asdf:apply-output-translations</code> to locate a file +whose pathname has been translated by the facility. + +<h4 class="subsection">12.4.2 “How can I wholly disable the compiler output cache?”</h4> + +<p>To permanently disable the compiler output cache +for all future runs of ASDF, you can: + +<pre class="example"> mkdir -p ~/.config/common-lisp/asdf-output-translations.conf.d/ + echo ':disable-cache' > ~/.config/common-lisp/asdf-output-translations.conf.d/99-disable-cache.conf +</pre> + <p>This assumes that you didn't otherwise configure the ASDF files +(if you did, edit them again), +and don't somehow override the configuration at runtime +with a shell variable (see below) or some other runtime command +(e.g. some call to <code>asdf:initialize-output-translations</code>). + + <p>To disable the compiler output cache in Lisp processes +run by your current shell, try (assuming <code>bash</code> or <code>zsh</code>) +(on Unix and cygwin only): + +<pre class="example"> export ASDF_OUTPUT_TRANSLATIONS=/: +</pre> + <p>To disable the compiler output cache just in the current Lisp process, +use (after loading ASDF but before using it): + +<pre class="example"> (asdf:disable-output-translations) +</pre> + <h3 class="section">12.5 Issues with using and extending ASDF to define systems</h3> + +<h4 class="subsection">12.5.1 “How can I cater for unit-testing in my system?”</h4> + +<p>ASDF provides a predefined test operation, <code>test-op</code>. +See <a href="#Predefined-operations-of-ASDF">test-op</a>. +The test operation, however, is largely left to the system definer to specify. +<code>test-op</code> has been +a topic of considerable discussion on the +<a href="http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel">asdf-devel mailing list</a>, +and on the +<a href="https://launchpad.net/asdf">launchpad bug-tracker</a>. + + <p>Here are some guidelines: + + <ul> +<li>For a given system, <var>foo</var>, you will want to define a corresponding +test system, such as <var>foo-test</var>. The reason that you will want this +separate system is that ASDF does not out of the box supply components +that are conditionally loaded. So if you want to have source files +(with the test definitions) that will not be loaded except when testing, +they should be put elsewhere. + + <li>The <var>foo-test</var> system can be defined in an asd file of its own or +together with <var>foo</var>. An aesthetic preference against cluttering up +the filesystem with extra asd files should be balanced against the +question of whether one might want to directly load <var>foo-test</var>. +Typically one would not want to do this except in early stages of +debugging. + + <li>Record that testing is implemented by <var>foo-test</var>. For example: + <pre class="example"> (defsystem <var>foo</var> + :in-order-to ((test-op (test-op <var>foo-test</var>))) + ....) + + (defsystem <var>foo-test</var> + :depends-on (<var>foo</var> <var>my-test-library</var> ...) + ....) +</pre> + </ul> + + <p>This procedure will allow you to support users who do not wish to +install your test framework. + + <p>One oddity of ASDF is that <code>operate</code> (see <a href="#Operations">operate</a>) +does not return a value. So in current versions of ASDF there is no +reliable programmatic means of determining whether or not a set of tests +has passed, or which tests have failed. The user must simply read the +console output. This limitation has been the subject of much +discussion. + +<h4 class="subsection">12.5.2 “How can I cater for documentation generation in my system?”</h4> + +<p>The ASDF developers are currently working to add a <code>doc-op</code> +to the set of predefined ASDF operations. +See <a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a>. +See also <a href="https://bugs.launchpad.net/asdf/+bug/479470">https://bugs.launchpad.net/asdf/+bug/479470</a>. + +<h4 class="subsection">12.5.3 “How can I maintain non-Lisp (e.g. C) source files?”</h4> + +<p>See <code>cffi</code>'s <code>cffi-grovel</code>. + + <p><a name="report_002dbugs"></a> + +<h4 class="subsection">12.5.4 “I want to put my module's files at the top level. How do I do this?”</h4> + +<p>By default, the files contained in an asdf module go +in a subdirectory with the same name as the module. +However, this can be overridden by adding a <code>:pathname ""</code> argument +to the module description. +For example, here is how it could be done +in the spatial-trees ASDF system definition for ASDF 2: + +<pre class="example"> (asdf:defsystem :spatial-trees + :components + ((:module base + :pathname "" + :components + ((:file "package") + (:file "basedefs" :depends-on ("package")) + (:file "rectangles" :depends-on ("package")))) + (:module tree-impls + :depends-on (base) + :pathname "" + :components + ((:file "r-trees") + (:file "greene-trees" :depends-on ("r-trees")) + (:file "rstar-trees" :depends-on ("r-trees")) + (:file "rplus-trees" :depends-on ("r-trees")) + (:file "x-trees" :depends-on ("r-trees" "rstar-trees")))) + (:module viz + :depends-on (base) + :pathname "" + :components + ((:static-file "spatial-tree-viz.lisp"))) + (:module tests + :depends-on (base) + :pathname "" + :components + ((:static-file "spatial-tree-test.lisp"))) + (:static-file "LICENCE") + (:static-file "TODO"))) +</pre> + <p>All of the files in the <code>tree-impls</code> module are at the top level, +instead of in a <samp><span class="file">tree-impls/</span></samp> subdirectory. + + <p>Note that the argument to <code>:pathname</code> can be either a pathname object or a string. +A pathname object can be constructed with the <samp><span class="file">#p"foo/bar/"</span></samp> syntax, +but this is discouraged because the results of parsing a namestring are not portable. +A pathname can only be portably constructed with such syntax as +<code>#.(make-pathname :directory '(:relative "foo" "bar"))</code>, +and similarly the current directory can only be portably specified as +<code>#.(make-pathname :directory '(:relative))</code>. +However, as of ASDF 2, you can portably use a string to denote a pathname. +The string will be parsed as a <code>/</code>-separated path from the current directory, +such that the empty string <code>""</code> denotes the current directory, and +<code>"foo/bar"</code> (no trailing <code>/</code> required in the case of modules) +portably denotes the same subdirectory as above. +When files are specified, the last <code>/</code>-separated component is interpreted +either as the name component of a pathname +(if the component class specifies a pathname type), +or as a name component plus optional dot-separated type component +(if the component class doesn't specifies a pathname type). + +<h4 class="subsection">12.5.5 How do I create a system definition where all the source files have a .cl extension?</h4> + +<p>Starting with ASDF 2.014.14, you may just pass +the builtin class <code>cl-source-file.cl</code> as +the <code>:default-component-class</code> argument to <code>defsystem</code>: + +<pre class="lisp"> (defsystem my-cl-system + :default-component-class cl-source-file.cl + ...) +</pre> + <p>Another builtin class <code>cl-source-file.lsp</code> is offered +for files ending in <samp><span class="file">.lsp</span></samp>. + + <p>If you want to use a different extension +for which ASDF doesn't provide builtin support, +or want to support versions of ASDF +earlier than 2.014.14 (but later than 2.000), +you can define a class as follows: + +<pre class="lisp"> ;; Prologue: make sure we're using a sane package. + (defpackage :my-asdf-extension + (:use :asdf :common-lisp) + (:export #:cl-source-file.lis)) + (in-package :my-asdf-extension) + + (defclass cl-source-file.lis (cl-source-file) + ((type :initform "lis"))) +</pre> + <p>Then you can use it as follows: +<pre class="lisp"> (defsystem my-cl-system + :default-component-class my-asdf-extension:cl-source-file.lis + ...) +</pre> + <p>Of course, if you're in the same package, e.g. in the same file, +you won't need to use the package qualifier before <code>cl-source-file.lis</code>. +Actually, if all you're doing is defining this class +and using it in the same file without other fancy definitions, +you might skip package complications: + +<pre class="lisp"> (in-package :asdf) + (defclass cl-source-file.lis (cl-source-file) + ((type :initform "lis"))) + (defsystem my-cl-system + :default-component-class cl-source-file.lis + ...) +</pre> + <p>It is possible to achieve the same effect +in a way that supports both ASDF 1 and ASDF 2, +but really, friends don't let friends use ASDF 1. +Please upgrade to ASDF 3. +In short, though: do same as above, but +<em>before</em> you use the class in a <code>defsystem</code>, +you also define the following method: + +<pre class="lisp"> (defmethod source-file-type ((f cl-source-file.lis) (s system)) + (declare (ignorable f s)) + "lis") +</pre> + <!-- FIXME: Add a FAQ about how to use a new system class... --> +<p><a name="TODO-list"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">13 TODO list</h2> + +<p>Here is an old list of things to do, +in addition to the bugs that are now tracked on launchpad: +<a href="https://launchpad.net/asdf">https://launchpad.net/asdf</a>. + +<h3 class="section">13.1 Outstanding spec questions, things to add</h3> + +<p>** packaging systems + + <p>*** manual page component? + + <p>** style guide for .asd files + + <p>You should either use keywords or be careful +with the package that you evaluate defsystem forms in. +Otherwise <code>(defsystem partition ...)</code> +being read in the <code>cl-user</code> package +will intern a <code>cl-user:partition</code> symbol, +which will then collide with the <code>partition:partition</code> symbol. + + <p>Actually there's a hairier packages problem to think about too. +<code>in-order-to</code> is not a keyword: +if you read <code>defsystem</code> forms in a package that doesn't use ASDF, +odd things might happen. + + <p>** extending defsystem with new options + + <p>You might not want to write a whole parser, +but just to add options to the existing syntax. +Reinstate <code>parse-option</code> or something akin. + + <p>** Diagnostics + + <p>A “dry run” of an operation can be made with the following form: + +<pre class="lisp"> (let ((asdf::*verbose-out* *standard-output*)) + (loop :for (op . comp) :in + (asdf::traverse (make-instance '<operation-name> :force t) + (asdf:find-system <system-name>)) + :do (asdf:explain op comp))) +</pre> + <p>This uses unexported symbols. +What would be a nice interface for this functionality? + +<h3 class="section">13.2 Missing bits in implementation</h3> + +<p>** reuse the same scratch package whenever a system is reloaded from disk + + <p>Have a package ASDF-USER instead of all these temporary packages? + + <p>** proclamations probably aren't + + <p>** A revert function + + <p>Other possible interface: have a “revert” function akin to <code>make clean</code>. + +<pre class="lisp"> (asdf:revert 'asdf:compile-op 'araneida) +</pre> + <p>would delete any files produced by <code>(compile-system :araneida)</code>. +Of course, it wouldn't be able to do much about stuff in the image itself. + + <p>How would this work? + + <p><code>traverse</code> + + <p>There's a difference between a module's dependencies (peers) +and its components (children). +Perhaps there's a similar difference in operations? +For example, <code>(load "use") depends-on (load "macros")</code> is a peer, +whereas <code>(load "use") depends-on (compile "use")</code> +is more of a “subservient” relationship. + +<p><a name="Inspiration"></a> + +<!-- node-name, next, previous, up --> +<h2 class="chapter">14 Inspiration</h2> + +<h3 class="section">14.1 mk-defsystem (defsystem-3.x)</h3> + +<p>We aim to solve basically the same problems as <code>mk-defsystem</code> does. +However, our architecture for extensibility +better exploits CL language features (and is documented), +and we intend to be portable rather than just widely-ported. +No slight on the <code>mk-defsystem</code> authors and maintainers is intended here; +that implementation has the unenviable task +of supporting pre-ANSI implementations, which is no longer necessary. + + <p>The surface defsystem syntax of asdf is more-or-less compatible with +<code>mk-defsystem</code>, except that we do not support +the <code>source-foo</code> and <code>binary-foo</code> prefixes +for separating source and binary files, and +we advise the removal of all options to specify pathnames. + + <p>The <code>mk-defsystem</code> code for topologically sorting +a module's dependency list was very useful. + +<h3 class="section">14.2 defsystem-4 proposal</h3> + +<p>Marco and Peter's proposal for defsystem 4 served as the driver for +many of the features in here. Notable differences are: + + <ul> +<li>We don't specify output files or output file extensions +as part of the system. + + <p>If you want to find out what files an operation would create, +ask the operation. + + <li>We don't deal with CL packages + + <p>If you want to compile in a particular package, use an <code>in-package</code> form +in that file (ilisp / SLIME will like you more if you do this anyway) + + <li>There is no proposal here that <code>defsystem</code> does version control. + + <p>A system has a given version which can be used to check dependencies, +but that's all. +</ul> + + <p>The defsystem 4 proposal tends to look more at the external features, +whereas this one centres on a protocol for system introspection. + +<h3 class="section">14.3 kmp's “The Description of Large Systems”, MIT AI Memo 801</h3> + +<p>Available in updated-for-CL form on the web at +<a href="http://nhplace.com/kent/Papers/Large-Systems.html">http://nhplace.com/kent/Papers/Large-Systems.html</a> + + <p>In our implementation we borrow kmp's overall <code>PROCESS-OPTIONS</code> +and concept to deal with creating component trees +from <code>defsystem</code> surface syntax. +[ this is not true right now, though it used to be and +probably will be again soon ] + +<!-- --> +<p><a name="Concept-Index"></a> + +<h2 class="unnumbered">Concept Index</h2> + +<ul class="index-cp" compact> +<li><a href="#index-g_t_003aaround_002dcompile-69">:around-compile</a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-g_t_003aasdf-5">:asdf</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-g_t_003aasdf2-6">:asdf2</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-g_t_003aasdf3-7">:asdf3</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-g_t_003acompile_002dcheck-72">:compile-check</a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-g_t_003adefsystem_002ddepends_002don-21">:defsystem-depends-on</a>: <a href="#The-defsystem-grammar">The defsystem grammar</a></li> +<li><a href="#index-g_t_003aversion-25">:version</a>: <a href="#The-defsystem-grammar">The defsystem grammar</a></li> +<li><a href="#index-g_t_003aversion-46">:version</a>: <a href="#Common-attributes-of-components">Common attributes of components</a></li> +<li><a href="#index-g_t_003aversion-20">:version</a>: <a href="#The-defsystem-form">The defsystem form</a></li> +<li><a href="#index-g_t_003aweakly_002ddepends_002don-22">:weakly-depends-on</a>: <a href="#The-defsystem-grammar">The defsystem grammar</a></li> +<li><a href="#index-around_002dcompile-keyword-70">around-compile keyword</a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-ASDF-versions-4">ASDF versions</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-ASDF_002dBINARY_002dLOCATIONS-compatibility-58">ASDF-BINARY-LOCATIONS compatibility</a>: <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a></li> +<li><a href="#index-asdf_002doutput_002dtranslations-56">asdf-output-translations</a>: <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a></li> +<li><a href="#index-ASDF_002drelated-features-1">ASDF-related features</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-compile_002dcheck-keyword-71">compile-check keyword</a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-component-38">component</a>: <a href="#Components">Components</a></li> +<li><a href="#index-component-designator-41">component designator</a>: <a href="#Components">Components</a></li> +<li><a href="#index-link-farm-9">link farm</a>: <a href="#Loading-ASDF">Loading ASDF</a></li> +<li><a href="#index-logical-pathnames-26">logical pathnames</a>: <a href="#The-defsystem-grammar">The defsystem grammar</a></li> +<li><a href="#index-operation-28">operation</a>: <a href="#Operations">Operations</a></li> +<li><a href="#index-pathname-specifiers-23">pathname specifiers</a>: <a href="#The-defsystem-grammar">The defsystem grammar</a></li> +<li><a href="#index-serial-dependencies-27">serial dependencies</a>: <a href="#The-defsystem-grammar">The defsystem grammar</a></li> +<li><a href="#index-system-39">system</a>: <a href="#Components">Components</a></li> +<li><a href="#index-system-designator-40">system designator</a>: <a href="#Components">Components</a></li> +<li><a href="#index-system-directory-designator-14">system directory designator</a>: <a href="#Loading-ASDF">Loading ASDF</a></li> +<li><a href="#index-Testing-for-ASDF-3">Testing for ASDF</a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-version-specifiers-24">version specifiers</a>: <a href="#The-defsystem-grammar">The defsystem grammar</a></li> + </ul><p><a name="Function-and-Class-Index"></a> + +<h2 class="unnumbered">Function and Class Index</h2> + + + +<ul class="index-fn" compact> +<li><a href="#index-already_002dloaded_002dsystems-19"><code>already-loaded-systems</code></a>: <a href="#Using-ASDF">Using ASDF</a></li> +<li><a href="#index-apply_002doutput_002dtranslations-64"><code>apply-output-translations</code></a>: <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a></li> +<li><a href="#index-clear_002dconfiguration-18"><code>clear-configuration</code></a>: <a href="#Using-ASDF">Using ASDF</a></li> +<li><a href="#index-clear_002doutput_002dtranslations-17"><code>clear-output-translations</code></a>: <a href="#Configuring-ASDF">Configuring ASDF</a></li> +<li><a href="#index-clear_002doutput_002dtranslations-62"><code>clear-output-translations</code></a>: <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a></li> +<li><a href="#index-clear_002dsource_002dregistry-54"><code>clear-source-registry</code></a>: <a href="#Controlling-where-ASDF-searches-for-systems">Controlling where ASDF searches for systems</a></li> +<li><a href="#index-clear_002dsystem-76"><code>clear-system</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-compile_002dfile_002a-73"><code>compile-file*</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-g_t_0040code_007bcompile_002dop_007d-31"><code>compile-op</code></a>: <a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></li> +<li><a href="#index-compile_002dsystem-12"><code>compile-system</code></a>: <a href="#Loading-ASDF">Loading ASDF</a></li> +<li><a href="#index-g_t_0040code_007bconcatenate_002dsource_002dop_007d-37"><code>concatenate-source-op</code></a>: <a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></li> +<li><a href="#index-disable_002doutput_002dtranslations-61"><code>disable-output-translations</code></a>: <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a></li> +<li><a href="#index-enable_002dasdf_002dbinary_002dlocations_002dcompatibility-59"><code>enable-asdf-binary-locations-compatibility</code></a>: <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a></li> +<li><a href="#index-ensure_002doutput_002dtranslations-63"><code>ensure-output-translations</code></a>: <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a></li> +<li><a href="#index-ensure_002dsource_002dregistry-55"><code>ensure-source-registry</code></a>: <a href="#Controlling-where-ASDF-searches-for-systems">Controlling where ASDF searches for systems</a></li> +<li><a href="#index-g_t_0040code_007bfasl_002dop_007d-36"><code>fasl-op</code></a>: <a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></li> +<li><a href="#index-find_002dcomponent-44"><code>find-component</code></a>: <a href="#Components">Components</a></li> +<li><a href="#index-find_002dsystem-43"><code>find-system</code></a>: <a href="#Components">Components</a></li> +<li><a href="#index-initialize_002doutput_002dtranslations-60"><code>initialize-output-translations</code></a>: <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a></li> +<li><a href="#index-initialize_002dsource_002dregistry-53"><code>initialize-source-registry</code></a>: <a href="#Controlling-where-ASDF-searches-for-systems">Controlling where ASDF searches for systems</a></li> +<li><a href="#index-g_t_0040code_007bload_002dop_007d-32"><code>load-op</code></a>: <a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></li> +<li><a href="#index-g_t_0040code_007bload_002dsource_002dop_007d-34"><code>load-source-op</code></a>: <a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></li> +<li><a href="#index-load_002dsystem-10"><code>load-system</code></a>: <a href="#Loading-ASDF">Loading ASDF</a></li> +<li><a href="#index-merge_002dpathnames_002a-80"><code>merge-pathnames*</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-module-48"><code>module</code></a>: <a href="#Pre_002ddefined-subclasses-of-component">Pre-defined subclasses of component</a></li> +<li><a href="#index-g_t_0040code_007boos_007d-30"><code>oos</code></a>: <a href="#Operations">Operations</a></li> +<li><a href="#index-oos-16"><code>oos</code></a>: <a href="#Loading-ASDF">Loading ASDF</a></li> +<li><a href="#index-g_t_0040code_007boperate_007d-29"><code>operate</code></a>: <a href="#Operations">Operations</a></li> +<li><a href="#index-operate-15"><code>operate</code></a>: <a href="#Loading-ASDF">Loading ASDF</a></li> +<li><a href="#index-OPERATION_002dERROR-66"><code>OPERATION-ERROR</code></a>: <a href="#Error-handling">Error handling</a></li> +<li><a href="#index-parse_002dunix_002dnamestring-79"><code>parse-unix-namestring</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-g_t_0040code_007bprepare_002dop_007d-33"><code>prepare-op</code></a>: <a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></li> +<li><a href="#index-register_002dpreloaded_002dsystem-77"><code>register-preloaded-system</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-require_002dsystem-11"><code>require-system</code></a>: <a href="#Loading-ASDF">Loading ASDF</a></li> +<li><a href="#index-run_002dprogram-83"><code>run-program</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-run_002dshell_002dcommand-78"><code>run-shell-command</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-slurp_002dinput_002dstream-84"><code>slurp-input-stream</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-source_002dfile-47"><code>source-file</code></a>: <a href="#Pre_002ddefined-subclasses-of-component">Pre-defined subclasses of component</a></li> +<li><a href="#index-source_002dfile_002dtype-85"><code>source-file-type</code></a>: <a href="#FAQ">FAQ</a></li> +<li><a href="#index-subpathname-81"><code>subpathname</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-subpathname_002a-82"><code>subpathname*</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-system-49"><code>system</code></a>: <a href="#Pre_002ddefined-subclasses-of-component">Pre-defined subclasses of component</a></li> +<li><a href="#index-SYSTEM_002dDEFINITION_002dERROR-65"><code>SYSTEM-DEFINITION-ERROR</code></a>: <a href="#Error-handling">Error handling</a></li> +<li><a href="#index-system_002drelative_002dpathname-74"><code>system-relative-pathname</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-system_002dsource_002ddirectory-75"><code>system-source-directory</code></a>: <a href="#Miscellaneous-additional-functionality">Miscellaneous additional functionality</a></li> +<li><a href="#index-g_t_0040code_007btest_002dop_007d-35"><code>test-op</code></a>: <a href="#Predefined-operations-of-ASDF">Predefined operations of ASDF</a></li> +<li><a href="#index-test_002dsystem-13"><code>test-system</code></a>: <a href="#Loading-ASDF">Loading ASDF</a></li> +<li><a href="#index-g_t_0040var_007bversion_007d-51"><var>version</var></a>: <a href="#Functions">Functions</a></li> +<li><a href="#index-version_002dsatisfies-50"><code>version-satisfies</code></a>: <a href="#Functions">Functions</a></li> +<li><a href="#index-version_002dsatisfies-45"><code>version-satisfies</code></a>: <a href="#Common-attributes-of-components">Common attributes of components</a></li> + </ul><p><a name="Variable-Index"></a> + +<h2 class="unnumbered">Variable Index</h2> + + + +<ul class="index-vr" compact> +<li><a href="#index-g_t_002acentral_002dregistry_002a-8"><code>*central-registry*</code></a>: <a href="#Loading-ASDF">Loading ASDF</a></li> +<li><a href="#index-g_t_002acompile_002dfile_002derrors_002dbehavior_002a-68"><code>*compile-file-errors-behavior*</code></a>: <a href="#Error-handling">Error handling</a></li> +<li><a href="#index-g_t_002acompile_002dfile_002dwarnings_002dbehaviour_002a-67"><code>*compile-file-warnings-behaviour*</code></a>: <a href="#Error-handling">Error handling</a></li> +<li><a href="#index-g_t_002adefault_002dsource_002dregistry_002dexclusions_002a-52"><code>*default-source-registry-exclusions*</code></a>: <a href="#Controlling-where-ASDF-searches-for-systems">Controlling where ASDF searches for systems</a></li> +<li><a href="#index-g_t_002afeatures_002a-2"><code>*features*</code></a>: <a href="#Introduction">Introduction</a></li> +<li><a href="#index-g_t_002asystem_002ddefinition_002dsearch_002dfunctions_002a-42"><code>*system-definition-search-functions*</code></a>: <a href="#Components">Components</a></li> +<li><a href="#index-ASDF_005fOUTPUT_005fTRANSLATIONS-57"><code>ASDF_OUTPUT_TRANSLATIONS</code></a>: <a href="#Controlling-where-ASDF-saves-compiled-files">Controlling where ASDF saves compiled files</a></li> + </ul><div class="footnote"> +<hr> +<a name="texinfo-footnotes-in-document"></a><h4>Footnotes</h4><p class="footnote"><small>[<a name="fn-1" href="#fnd-1">1</a>]</small> +It is possible to further customize +the system definition file search. +That's considered advanced use, and covered later: +search forward for +<code>*system-definition-search-functions*</code>. +See <a href="#Defining-systems-with-defsystem">Defining systems with defsystem</a>.</p> + + <p class="footnote"><small>[<a name="fn-2" href="#fnd-2">2</a>]</small> +ASDF will indeed call <code>eval</code> on each entry. +It will also skip entries that evaluate to <code>nil</code>. + + <p>Strings and pathname objects are self-evaluating, +in which case the <code>eval</code> step does nothing; +but you may push arbitrary SEXP onto the central registry, +that will be evaluated to compute e.g. things that depend +on the value of shell variables or the identity of the user. + + <p>The variable <code>asdf:*central-registry*</code> is thus a list of +“system directory designators”. +A <dfn>system directory designator</dfn> is a form +which will be evaluated whenever a system is to be found, +and must evaluate to a directory to look in. +By “directory” here, we mean +“designator for a pathname with a supplied DIRECTORY component”. +</p> + + <p class="footnote"><small>[<a name="fn-3" href="#fnd-3">3</a>]</small> +It is possible, though almost never necessary, to override this behaviour.</p> + + <hr></div> + +</body></html> + diff --git a/src/contrib/asdf/doc/asdf.info b/src/contrib/asdf/doc/asdf.info new file mode 100644 index 000000000..37570bdee --- /dev/null +++ b/src/contrib/asdf/doc/asdf.info @@ -0,0 +1,4260 @@ +This is asdf.info, produced by makeinfo version 4.13 from asdf.texinfo. + +INFO-DIR-SECTION Software development +START-INFO-DIR-ENTRY +* asdf: (asdf). Another System Definition Facility (for Common Lisp) +END-INFO-DIR-ENTRY + + This manual describes ASDF, a system definition facility for Common +Lisp programs and libraries. + + You can find the latest version of this manual at +`http://common-lisp.net/project/asdf/asdf.html'. + + ASDF Copyright (C) 2001-2013 Daniel Barlow and contributors. + + This manual Copyright (C) 2001-2013 Daniel Barlow and contributors. + + This manual revised (C) 2009-2013 Robert P. Goldman and +Francois-Rene Rideau. + + Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + + The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +File: asdf.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) + +asdf: another system definition facility +**************************************** + +This manual describes ASDF, a system definition facility for Common +Lisp programs and libraries. + + You can find the latest version of this manual at +`http://common-lisp.net/project/asdf/asdf.html'. + + ASDF Copyright (C) 2001-2013 Daniel Barlow and contributors. + + This manual Copyright (C) 2001-2013 Daniel Barlow and contributors. + + This manual revised (C) 2009-2013 Robert P. Goldman and +Francois-Rene Rideau. + + Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + + The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +* Menu: + +* Introduction:: +* Loading ASDF:: +* Configuring ASDF:: +* Using ASDF:: +* Defining systems with defsystem:: +* The object model of ASDF:: +* Controlling where ASDF searches for systems:: +* Controlling where ASDF saves compiled files:: +* Error handling:: +* Miscellaneous additional functionality:: +* Getting the latest version:: +* FAQ:: +* TODO list:: +* Inspiration:: +* Concept Index:: +* Function and Class Index:: +* Variable Index:: + + +File: asdf.info, Node: Introduction, Next: Loading ASDF, Prev: Top, Up: Top + +1 Introduction +************** + +ASDF is Another System Definition Facility: a tool for specifying how +systems of Common Lisp software are comprised of components +(sub-systems and files), and how to operate on these components in the +right order so that they can be compiled, loaded, tested, etc. + + ASDF presents three faces: one for users of Common Lisp software who +want to reuse other people's code, one for writers of Common Lisp +software who want to specify how to build their systems, one for +implementers of Common Lisp extensions who want to extend the build +system. *Note Loading a system: Using ASDF, to learn how to use ASDF +to load a system. *Note Defining systems with defsystem::, to learn +how to define a system of your own. *Note The object model of ASDF::, +for a description of the ASDF internals and how to extend ASDF. + + _Nota Bene_: We have released ASDF 2.000 on May 31st 2010, and ASDF +3.0 on January 31st 2013. Releases of ASDF 2 and later have since then +been included in all actively maintained CL implementations that used +to bundle ASDF 1, plus some implementations that didn't use to, and has +been made to work with all actively used CL implementations and a few +more. *Note "What has changed between ASDF 1 and ASDF 2?": FAQ. +Furthermore, it is possible to upgrade from ASDF 1 to ASDF 2 or ASDF 3 +on the fly. For this reason, we have stopped supporting ASDF 1 and +ASDF 2. If you are using ASDF 1 or ASDF 2 and are experiencing any +kind of issues or limitations, we recommend you upgrade to ASDF 3 -- +and we explain how to do that. *Note Loading ASDF::. + + Also note that ASDF is not to be confused with ASDF-Install. +ASDF-Install is not part of ASDF, but a separate piece of software. +ASDF-Install is also unmaintained and obsolete. We recommend you use +Quicklisp instead, which works great and is being actively maintained. +If you want to download software from version control instead of +tarballs, so you may more easily modify it, we recommend clbuild. + + +File: asdf.info, Node: Loading ASDF, Next: Configuring ASDF, Prev: Introduction, Up: Top + +2 Loading ASDF +************** + +2.1 Loading a pre-installed ASDF +================================ + +Most recent Lisp implementations include a copy of ASDF 2, and soon +ASDF 3. You can usually load this copy using Common Lisp's `require' +function: + + (require "asdf") + + As of the writing of this manual, the following implementations +provide ASDF 2 this way: abcl allegro ccl clisp cmucl ecl lispworks +mkcl sbcl xcl. The following implementation doesn't provide it yet but +will in an upcoming release: scl. The following implementations are +obsolete, not actively maintained, and most probably will never bundle +it: cormanlisp gcl genera mcl. + + If the implementation you are using doesn't provide ASDF 2 or ASDF 3, +see *note Loading an otherwise installed ASDF: Loading ASDF. below. If +that implementation is still actively maintained, you may also send a +bug report to your Lisp vendor and complain about their failing to +provide ASDF. + + NB: all implementations except clisp also accept `(require "ASDF")', +`(require 'asdf)' and `(require :asdf)'. For portability's sake, you +probably want to use `(require "asdf")'. + +2.2 Checking whether ASDF is loaded +=================================== + +To check whether ASDF is properly loaded in your current Lisp image, +you can run this form: + + (asdf:asdf-version) + + If it returns a string, that is the version of ASDF that is +currently installed. + + If it raises an error, then either ASDF is not loaded, or you are +using an old version of ASDF. + + You can check whether an old version is loaded by checking if the +ASDF package is present. The form below will allow you to +programmatically determine whether a recent version is loaded, an old +version is loaded, or none at all: + + (when (find-package :asdf) + (let ((ver (symbol-value (or (find-symbol (string :*asdf-version*) :asdf) + (find-symbol (string :*asdf-revision*) :asdf))))) + (etypecase ver + (string ver) + (cons (with-output-to-string (s) + (loop for (n . m) on ver do (princ n s) (when m (princ "." s))))) + (null "1.0")))) + + If it returns `nil' then ASDF is not installed. Otherwise it should +return a string. If it returns `"1.0"', then it can actually be any +version before 1.77 or so, or some buggy variant of 1.x. + + If you are experiencing problems with ASDF, please try upgrading to +the latest released version, using the method below, before you contact +us and raise an issue. + +2.3 Upgrading ASDF +================== + +If your implementation provides ASDF 3 or later, you only need to +`(require "asdf")': ASDF will automatically look whether an updated +version of itself is available amongst the regularly configured +systems, before it compiles anything else. See *note Configuring +ASDF:: below. + + If your implementation does provide ASDF 2 or later, but not ASDF 3 +or later, and you want to upgrade to a more recent version, you need to +install and configure your ASDF as above, and additionally, you need to +explicitly tell ASDF to load itself, right after you require your +implementation's old ASDF 2: + + (require "asdf") + (asdf:load-system :asdf) + + If on the other hand, your implementation only provides an old ASDF, +you will require a special configuration step and an old-style loading. +Take special attention to not omit the trailing directory separator `/' +at the end of your pathname: + + (require "asdf") + (push #p"/PATH/TO/NEW/ASDF/" asdf:*central-registry*) + (asdf:oos 'asdf:load-op :asdf) + + Note that ASDF 1 won't redirect its output files, or at least won't +do it according to your usual ASDF 2 configuration. You therefore need +write access on the directory where you install the new ASDF, and make +sure you're not using it for multiple mutually incompatible +implementations. At worst, you may have to have multiple copies of the +new ASDF, e.g. one per implementation installation, to avoid clashes. +Note that to our knowledge all implementations that provide ASDF +provide ASDF 2 in their latest release, so you may want to upgrade your +implementation rather than go through that hoop. + + Finally, if you are using an unmaintained implementation that does +not provide ASDF at all, see *note Loading an otherwise installed ASDF: +Loading ASDF. below. + + Note that there are some limitations to upgrading ASDF: + * Previously loaded ASDF extension becomes invalid, and will need to + be reloaded. This applies to e.g. CFFI-Grovel, or to hacks used + by ironclad, etc. Since it isn't possible to automatically detect + what extensions are present that need to be invalidated, ASDF will + actually invalidate all previously loaded systems when it is + loaded on top of a different ASDF version, starting with ASDF + 2.014.8 (as far as releases go, 2.015); and it will automatically + attempt this self-upgrade as its very first step starting with + ASDF 3. + + * For this an many other reasons, it important reason to load, + configure and upgrade ASDF (if needed) as one of the very first + things done by your build and startup scripts. Until all + implementations provide ASDF 3 or later, it is safer if you + upgrade ASDF and its extensions as a special step at the very + beginning of whatever script you are running, before you start + using ASDF to load anything else; even afterwards, it is still a + good idea, to avoid having to load and reload code twice as it + gets invalidated. + + * Until all implementations provide ASDF 3 or later, it is unsafe to + upgrade ASDF as part of loading a system that depends on a more + recent version of ASDF, since the new one might shadow the old one + while the old one is running, and the running old one will be + confused when extensions are loaded into the new one. In the + meantime, we recommend that your systems should _not_ specify + `:depends-on (:asdf)', or `:depends-on ((:version :asdf "2.010"))', + but instead that they check that a recent enough ASDF is installed, + with such code as: + (unless (or #+asdf2 (asdf:version-satisfies + (asdf:asdf-version) *required-asdf-version*)) + (error "FOO requires ASDF ~A or later." *required-asdf-version*)) + + * Until all implementations provide ASDF 3 or later, it is unsafe + for a system to transitively depend on ASDF and not directly + depend on ASDF; if any of the system you use either depends-on + asdf, system-depends-on asdf, or transitively does, you should + also do as well. + +2.4 Loading an otherwise installed ASDF +======================================= + +If your implementation doesn't include ASDF, if for some reason the +upgrade somehow fails, does not or cannot apply to your case, you will +have to install the file `asdf.lisp' somewhere and load it with: + + (load "/path/to/your/installed/asdf.lisp") + + The single file `asdf.lisp' is all you normally need to use ASDF. + + You can extract this file from latest release tarball on the ASDF +website (http://common-lisp.net/project/asdf/). If you are daring and +willing to report bugs, you can get the latest and greatest version of +ASDF from its git repository. *Note Getting the latest version::. + + For maximum convenience you might want to have ASDF loaded whenever +you start your Lisp implementation, for example by loading it from the +startup script or dumping a custom core -- check your Lisp +implementation's manual for details. + + +File: asdf.info, Node: Configuring ASDF, Next: Using ASDF, Prev: Loading ASDF, Up: Top + +3 Configuring ASDF +****************** + +3.1 Configuring ASDF to find your systems +========================================= + +So it may compile and load your systems, ASDF must be configured to find +the `.asd' files that contain system definitions. + + Since ASDF 2, the preferred way to configure where ASDF finds your +systems is the `source-registry' facility, fully described in its own +chapter of this manual. *Note Controlling where ASDF searches for +systems::. + + The default location for a user to install Common Lisp software is +under `~/.local/share/common-lisp/source/'. If you install software +there (it can be a symlink), you don't need further configuration. If +you're installing software yourself at a location that isn't standard, +you have to tell ASDF where you installed it. See below. If you're +using some tool to install software (e.g. Quicklisp), the authors of +that tool should already have configured ASDF. + + The simplest way to add a path to your search path, say +`/home/luser/.asd-link-farm/' is to create the directory +`~/.config/common-lisp/source-registry.conf.d/' and there create a file +with any name of your choice, and with the type `conf', for instance +`42-asd-link-farm.conf' containing the line: + + `(:directory "/home/luser/.asd-link-farm/")' + + If you want all the subdirectories under `/home/luser/lisp/' to be +recursively scanned for `.asd' files, instead use: + + `(:tree "/home/luser/lisp/")' + + Note that your Operating System distribution or your system +administrator may already have configured system-managed libraries for +you. + + The required `.conf' extension allows you to have disabled files or +editor backups (ending in `~'), and works portably (for instance, it is +a pain to allow both empty and non-empty extension on CLISP). Excluded +are files the name of which start with a `.' character. It is +customary to start the filename with two digits that specify the order +in which the directories will be scanned. + + ASDF will automatically read your configuration the first time you +try to find a system. You can reset the source-registry configuration +with: + + (asdf:clear-source-registry) + + And you probably should do so before you dump your Lisp image, if +the configuration may change between the machine where you save it at +the time you save it and the machine you resume it at the time you +resume it. Actually, you should use `(asdf:clear-configuration)' +before you dump your Lisp image, which includes the above. + +3.2 Configuring ASDF to find your systems -- old style +====================================================== + +The old way to configure ASDF to find your systems is by `push'ing +directory pathnames onto the variable `asdf:*central-registry*'. + + You must configure this variable between the time you load ASDF and +the time you first try to use it. Loading and configuring ASDF +presumably happen as part of some initialization script that builds or +starts your Common Lisp software system. (For instance, some SBCL +users used to put it in their `~/.sbclrc'.) + + The `asdf:*central-registry*' is empty by default in ASDF 2 or ASDF +3, but is still supported for compatibility with ASDF 1. When used, it +takes precedence over the above source-registry(1). + + For instance, if you wanted ASDF to find the `.asd' file +`/home/me/src/foo/foo.asd' your initialization script could after it +loads ASDF with `(require "asdf")' configure it with: + + (push "/home/me/src/foo/" asdf:*central-registry*) + + Note the trailing slash: when searching for a system, ASDF will +evaluate each entry of the central registry and coerce the result to a +pathname(2) at which point the presence of the trailing directory name +separator is necessary to tell Lisp that you're discussing a directory +rather than a file. + + Typically, however, there are a lot of `.asd' files, and a common +idiom was to have to put a bunch of _symbolic links_ to `.asd' files in +a common directory and push _that_ directory (the "link farm") to the +`asdf:*central-registry*' instead of pushing each of the many involved +directories to the `asdf:*central-registry*'. ASDF knows how to follow +such _symlinks_ to the actual file location when resolving the paths of +system components (on Windows, you can use Windows shortcuts instead of +POSIX symlinks; if you try aliases under MacOS, we are curious to hear +about your experience). + + For example, if `#p"/home/me/cl/systems/"' (note the trailing slash) +is a member of `*central-registry*', you could set up the system FOO +for loading with asdf with the following commands at the shell: + + $ cd /home/me/cl/systems/ + $ ln -s ~/src/foo/foo.asd . + + This old style for configuring ASDF is not recommended for new users, +but it is supported for old users, and for users who want to +programmatically control what directories are added to the ASDF search +path. + +3.3 Configuring where ASDF stores object files +============================================== + +ASDF lets you configure where object files will be stored. Sensible +defaults are provided and you shouldn't normally have to worry about it. + + This allows the same source code repository may be shared between +several versions of several Common Lisp implementations, between +several users using different compilation options and without write +privileges on shared source directories, etc. This also allows to keep +source directories uncluttered by plenty of object files. + + Starting with ASDF 2, the `asdf-output-translations' facility was +added to ASDF itself, that controls where object files will be stored. +This facility is fully described in a chapter of this manual, *note +Controlling where ASDF saves compiled files::. + + The simplest way to add a translation to your search path, say from +`/foo/bar/baz/quux/' to `/where/i/want/my/fasls/' is to create the +directory `~/.config/common-lisp/asdf-output-translations.conf.d/' and +there create a file with any name of your choice and the type `conf', +for instance `42-bazquux.conf' containing the line: + + `("/foo/bar/baz/quux/" "/where/i/want/my/fasls/")' + + To disable output translations for source under a given directory, +say `/toto/tata/' you can create a file `40-disable-toto.conf' with the +line: + + `("/toto/tata/")' + + To wholly disable output translations for all directories, you can +create a file `00-disable.conf' with the line: + + `(t t)' + + Note that your Operating System distribution or your system +administrator may already have configured translations for you. In +absence of any configuration, the default is to redirect everything +under an implementation-dependent subdirectory of +`~/.cache/common-lisp/'. *Note Controlling where ASDF searches for +systems::, for full details. + + The required `.conf' extension allows you to have disabled files or +editor backups (ending in `~'), and works portably (for instance, it is +a pain to allow both empty and non-empty extension on CLISP). Excluded +are files the name of which start with a `.' character. It is +customary to start the filename with two digits that specify the order +in which the directories will be scanned. + + ASDF will automatically read your configuration the first time you +try to find a system. You can reset the source-registry configuration +with: + + (asdf:clear-output-translations) + + And you probably should do so before you dump your Lisp image, if +the configuration may change between the machine where you save it at +the time you save it and the machine you resume it at the time you +resume it. (Once again, you should use `(asdf:clear-configuration)' +before you dump your Lisp image, which includes the above.) + + Finally note that before ASDF 2, other ASDF add-ons offered the same +functionality, each in subtly different and incompatible ways: +ASDF-Binary-Locations, cl-launch, common-lisp-controller. +ASDF-Binary-Locations is now not needed anymore and should not be used. +cl-launch 3.000 and common-lisp-controller 7.2 have been updated to +just delegate this functionality to ASDF. + + ---------- Footnotes ---------- + + (1) It is possible to further customize the system definition file +search. That's considered advanced use, and covered later: search +forward for `*system-definition-search-functions*'. *Note Defining +systems with defsystem::. + + (2) ASDF will indeed call `eval' on each entry. It will also skip +entries that evaluate to `nil'. + + Strings and pathname objects are self-evaluating, in which case the +`eval' step does nothing; but you may push arbitrary SEXP onto the +central registry, that will be evaluated to compute e.g. things that +depend on the value of shell variables or the identity of the user. + + The variable `asdf:*central-registry*' is thus a list of "system +directory designators". A "system directory designator" is a form +which will be evaluated whenever a system is to be found, and must +evaluate to a directory to look in. By "directory" here, we mean +"designator for a pathname with a supplied DIRECTORY component". + + +File: asdf.info, Node: Using ASDF, Next: Defining systems with defsystem, Prev: Configuring ASDF, Up: Top + +3.4 Resetting Configuration +=========================== + +When you dump and restore an image, or when you tweak your +configuration, you may want to reset the ASDF configuration. For that +you may use the following function: + + -- Function: clear-configuration + undoes any ASDF configuration, regarding source-registry or + output-translations. + + If you use SBCL, CMUCL or SCL, you may use this snippet so that the +ASDF configuration be cleared automatically as you dump an image: + + #+(or cmu sbcl scl) + (pushnew 'clear-configuration + #+(or cmu scl) ext:*before-save-initializations* + #+sbcl sb-ext:*save-hooks*) + + For compatibility with all Lisp implementations, however, you might +want instead your build script to explicitly call +`(asdf:clear-configuration)' at an appropriate moment before dumping. + +4 Using ASDF +************ + +4.1 Loading a system +==================== + +The system FOO is loaded (and compiled, if necessary) by evaluating the +following Lisp form: + + (asdf:load-system :FOO) + + On some implementations (namely recent versions of ABCL, Allegro CL, +Clozure CL, CMUCL, ECL, GNU CLISP, LispWorks, MKCL, SBCL and XCL), ASDF +hooks into the `CL:REQUIRE' facility and you can just use: + + (require :FOO) + + In older versions of ASDF, you needed to use `(asdf:oos +'asdf:load-op :FOO)'. If your ASDF is too old to provide +`asdf:load-system' though we recommend that you upgrade to ASDF 3. +*Note Loading an otherwise installed ASDF: Loading ASDF. + + Note the name of a system is specified as a string or a symbol, +typically a keyword. If a symbol (including a keyword), its name is +taken and lowercased. The name must be a suitable value for the +`:name' initarg to `make-pathname' in whatever filesystem the system is +to be found. The lower-casing-symbols behaviour is unconventional, but +was selected after some consideration. Observations suggest that the +type of systems we want to support either have lowercase as customary +case (unix, mac, windows) or silently convert lowercase to uppercase +(lpns), so this makes more sense than attempting to use `:case :common', +which is reported not to work on some implementations + +4.2 Other Operations +==================== + +ASDF provides three commands for the most common system operations: +`load-system', `compile-system' or `test-system'. It also provides +`require-system', a version of `load-system' that skips trying to +update systems that are already loaded. + + Because ASDF is an extensible system for defining _operations_ on +_components_, it also provides a generic function `operate' (which is +usually abbreviated by `oos'). You'll use `oos' whenever you want to +do something beyond compiling, loading and testing. + + Output from ASDF and ASDF extensions are supposed to be sent to the +CL stream `*standard-output*', and so rebinding that stream around +calls to `asdf:operate' should redirect all output from ASDF operations. + + Reminder: before ASDF can operate on a system, however, it must be +able to find and load that system's definition. *Note Configuring ASDF +to find your systems: Configuring ASDF. + + For the advanced users, note that `require-system' calls +`load-system' with keyword arguments `:force-not +(already-loaded-systems)'. `already-loaded-systems' returns a list of +the names of loaded systems. `load-system' applies `operate' with the +operation from `*load-system-operation*', which by default is `load-op', +the system, and any provided keyword arguments. + +4.3 Summary +=========== + +To use ASDF: + + * Load ASDF itself into your Lisp image, either through `(require + "asdf")' or else through `(load "/path/to/asdf.lisp")'. + + * Make sure ASDF can find system definitions thanks to proper + source-registry configuration. + + * Load a system with `(asdf:load-system :my-system)' or use some + other operation on some system of your choice. + + +4.4 Moving on +============= + +That's all you need to know to use ASDF to load systems written by +others. The rest of this manual deals with writing system definitions +for Common Lisp software you write yourself, including how to extend +ASDF to define new operation and component types. + + +File: asdf.info, Node: Defining systems with defsystem, Next: The object model of ASDF, Prev: Using ASDF, Up: Top + +5 Defining systems with defsystem +********************************* + +This chapter describes how to use asdf to define systems and develop +software. + +* Menu: + +* The defsystem form:: +* A more involved example:: +* The defsystem grammar:: +* Other code in .asd files:: + + +File: asdf.info, Node: The defsystem form, Next: A more involved example, Prev: Defining systems with defsystem, Up: Defining systems with defsystem + +5.1 The defsystem form +====================== + +Systems can be constructed programmatically by instantiating components +using `make-instance'. Most of the time, however, it is much more +practical to use a static `defsystem' form. This section begins with +an example of a system definition, then gives the full grammar of +`defsystem'. + + Let's look at a simple system. This is a complete file that would +usually be saved as `hello-lisp.asd': + + (in-package :asdf) + + (defsystem "hello-lisp" + :description "hello-lisp: a sample Lisp system." + :version "0.2.1" + :author "Joe User <joe@example.com>" + :licence "Public Domain" + :components ((:file "packages") + (:file "macros" :depends-on ("packages")) + (:file "hello" :depends-on ("macros")))) + + Some notes about this example: + + * The file starts with an `in-package' form to use package `asdf'. + You could instead start your definition by using a qualified name + `asdf:defsystem'. + + * If in addition to simply using `defsystem', you are going to + define functions, create ASDF extension, globally bind symbols, + etc., it is recommended that to avoid namespace pollution between + systems, you should create your own package for that purpose, for + instance replacing the above `(in-package :asdf)' with: + + (defpackage :foo-system + (:use :cl :asdf)) + + (in-package :foo-system) + + * The `defsystem' form defines a system named `hello-lisp' that + contains three source files: `packages', `macros' and `hello'. + + * The file `macros' depends on `packages' (presumably because the + package it's in is defined in `packages'), and the file `hello' + depends on `macros' (and hence, transitively on `packages'). This + means that ASDF will compile and load `packages' and `macros' + before starting the compilation of file `hello'. + + * The files are located in the same directory as the file with the + system definition. ASDF resolves symbolic links (or Windows + shortcuts) before loading the system definition file and stores + its location in the resulting system(1). This is a good thing + because the user can move the system sources without having to + edit the system definition. + + * Make sure you know how the `:version' numbers will be parsed! + They are parsed as period-separated lists of integers. I.e., in + the example, `0.2.1' is to be interpreted, roughly speaking, as + `(0 2 1)'. In particular, version `0.2.1' is interpreted the same + as `0.0002.1' and is strictly version-less-than version `0.20.1', + even though the two are the same when interpreted as decimal + fractions. Instead of a string representing the version, the + `:version' argument can be an expression that is resolved to such + a string using the following trivial domain-specific language: in + addition to being a literal string, it can be an expression of the + form `(:read-file-form <pathname-or-string> :at + <access-at-specifier>)', which will be resolved by reading a form + in the specified pathname (read as a subpathname of the current + system if relative or a unix-namestring). You may use a + `uiop:access-at' specifier with the (optional) `:at' keyword, by + default the specifier is `0', meaning the first form is returned. + + + ---------- Footnotes ---------- + + (1) It is possible, though almost never necessary, to override this +behaviour. + + +File: asdf.info, Node: A more involved example, Next: The defsystem grammar, Prev: The defsystem form, Up: Defining systems with defsystem + +5.2 A more involved example +=========================== + +Let's illustrate some more involved uses of `defsystem' via a slightly +convoluted example: + + (defsystem "foo" + :version "1.0.0" + :components ((:module "mod" + :components ((:file "bar") + (:file"baz") + (:file "quux")) + :perform (compile-op :after (op c) + (do-something c)) + :explain (compile-op :after (op c) + (explain-something c))) + (:file "blah"))) + + The `:module' component named `"mod"' is a collection of three files, +which will be located in a subdirectory of the main code directory named +`mod' (this location can be overridden; see the discussion of the +`:pathname' option in *note The defsystem grammar::). + + The method-form tokens provide a shorthand for defining methods on +particular components. This part + + :perform (compile-op :after (op c) + (do-something c)) + :explain (compile-op :after (op c) + (explain-something c)) + + has the effect of + + (defmethod perform :after ((op compile-op) (c (eql ...))) + (do-something c)) + (defmethod explain :after ((op compile-op) (c (eql ...))) + (explain-something c)) + + where `...' is the component in question. In this case `...' would +expand to something like + + (find-component "foo" "mod") + + For more details on the syntax of such forms, see *note The +defsystem grammar::. For more details on what these methods do, *note +Operations:: in *note The object model of ASDF::. + + +File: asdf.info, Node: The defsystem grammar, Next: Other code in .asd files, Prev: A more involved example, Up: Defining systems with defsystem + +5.3 The defsystem grammar +========================= + + system-definition := ( defsystem system-designator SYSTEM-OPTION* ) + + system-option := :defsystem-depends-on system-list + | :weakly-depends-on SYSTEM-LIST + | :class class-name (see discussion below) + | module-option + | option + + module-option := :components component-list + | :serial [ t | nil ] + + option := + | :pathname pathname-specifier + | :default-component-class class-name + | :perform method-form + | :explain method-form + | :output-files method-form + | :operation-done-p method-form + | :if-feature feature-expression + | :depends-on ( DEPENDENCY-DEF* ) + | :in-order-to ( DEPENDENCY+ ) + + + system-list := ( SIMPLE-COMPONENT-NAME* ) + + component-list := ( COMPONENT-DEF* ) + + component-def := ( component-type simple-component-name OPTION* ) + + component-type := :module | :file | :static-file | other-component-type + + other-component-type := symbol-by-name (*note Component types: The defsystem grammar.) + + # This is used in :depends-on, as opposed to ``dependency,'' + # which is used in :in-order-to + dependency-def := simple-component-name + | (feature FEATURE-NAME) + | ( :version simple-component-name version-specifier) + + # ``dependency'' is used in :in-order-to, as opposed to + # ``dependency-def'' + dependency := (dependent-op REQUIREMENT+) + requirement := (required-op REQUIRED-COMPONENT+) + | (:feature FEATURE-NAME) + dependent-op := operation-name + required-op := operation-name + + simple-component-name := string + | symbol + + pathname-specifier := pathname | string | symbol + + method-form := (operation-name qual lambda-list &rest body) + qual := method qualifier + + component-dep-fail-option := :fail | :try-next | :ignore + + feature-expression := keyword | (:and FEATURE-EXPRESSION*) + | (:or FEATURE-EXPRESSION*) | (:not FEATURE-EXPRESSION) + +5.3.1 Component names +--------------------- + +Component names (`simple-component-name') may be either strings or +symbols. + +5.3.2 Component types +--------------------- + +Component type names, even if expressed as keywords, will be looked up +by name in the current package and in the asdf package, if not found in +the current package. So a component type `my-component-type', in the +current package `my-system-asd' can be specified as +`:my-component-type', or `my-component-type'. + + `system' and its subclasses are _not_ allowed as component types for +such children components. + +5.3.3 System class names +------------------------ + +A system class name will be looked up in the same way as a Component +type (see above), except that only `system' and its subclasses are +allowed. Typically, one will not need to specify a system class name, +unless using a non-standard system class defined in some ASDF +extension, typically loaded through `DEFSYSTEM-DEPENDS-ON', see below. +For such class names in the ASDF package, we recommend that the +`:class' option be specified using a keyword symbol, such as + + :class :MY-NEW-SYSTEM-SUBCLASS + + This practice will ensure that package name conflicts are avoided. +Otherwise, the symbol `MY-NEW-SYSTEM-SUBCLASS' will be read into the +current package _before_ it has been exported from the ASDF extension +loaded by `:defsystem-depends-on', causing a name conflict in the +current package. + +5.3.4 Defsystem depends on +-------------------------- + +The `:defsystem-depends-on' option to `defsystem' allows the programmer +to specify another ASDF-defined system or set of systems that must be +loaded _before_ the system definition is processed. Typically this is +used to load an ASDF extension that is used in the system definition. + +5.3.5 Weakly depends on +----------------------- + +We do _NOT_ recommend you use this feature. If you are tempted to +write a system FOO that weakly-depends-on a system BAR, we recommend +that you should instead write system FOO in a parametric way, and offer +some special variable and/or some hook to specialize its behavior; then +you should write a system FOO+BAR that does the hooking of things +together. + + The (deprecated) `:weakly-depends-on' option to `defsystem' allows +the programmer to specify another ASDF-defined system or set of systems +that ASDF should _try_ to load, but need not load in order to be +successful. Typically this is used if there are a number of systems +that, if present, could provide additional functionality, but which are +not necessary for basic function. + + Currently, although it is specified to be an option only to +`defsystem', this option is accepted at any component, but it probably +only makes sense at the `defsystem' level. Programmers are cautioned +not to use this component option except at the `defsystem' level, as +this anomalous behavior may be removed without warning. + + Finally, you might look into the `asdf-system-connections' extension, +that will let you define additional code to be loaded when two systems +are simultaneously loaded. It may or may not be considered good style, +but at least it can be used in a way that has deterministic behavior +independent of load order, unlike `weakly-depends-on'. + +5.3.6 Pathname specifiers +------------------------- + +A pathname specifier (`pathname-specifier') may be a pathname, a string +or a symbol. When no pathname specifier is given for a component, +which is the usual case, the component name itself is used. + + If a string is given, which is the usual case, the string will be +interpreted as a Unix-style pathname where `/' characters will be +interpreted as directory separators. Usually, Unix-style relative +pathnames are used (i.e. not starting with `/', as opposed to absolute +pathnames); they are relative to the path of the parent component. +Finally, depending on the `component-type', the pathname may be +interpreted as either a file or a directory, and if it's a file, a file +type may be added corresponding to the `component-type', or else it +will be extracted from the string itself (if applicable). + + For instance, the `component-type' `:module' wants a directory +pathname, and so a string `"foo/bar"' will be interpreted as the +pathname `#p"foo/bar/"'. On the other hand, the `component-type' +`:file' wants a file of type `lisp', and so a string `"foo/bar"' will +be interpreted as the pathname `#p"foo/bar.lisp"', and a string +`"foo/bar.quux"' will be interpreted as the pathname +`#p"foo/bar.quux.lisp"'. Finally, the `component-type' `:static-file' +wants a file without specifying a type, and so a string `"foo/bar"' +will be interpreted as the pathname `#p"foo/bar"', and a string +`"foo/bar.quux"' will be interpreted as the pathname `#p"foo/bar.quux"'. + + ASDF does not interpret the string `".."' to designate the parent +directory. This string will be passed through to the underlying +operating system for interpretation. We _believe_ that this will work +on all platforms where ASDF is deployed, but do not guarantee this +behavior. A pathname object with a relative directory component of +`:up' or `:back' is the only guaranteed way to specify a parent +directory. + + If a symbol is given, it will be translated into a string, and +downcased in the process. The downcasing of symbols is unconventional, +but was selected after some consideration. Observations suggest that +the type of systems we want to support either have lowercase as +customary case (Unix, Mac, windows) or silently convert lowercase to +uppercase (lpns), so this makes more sense than attempting to use +`:case :common' as argument to `make-pathname', which is reported not +to work on some implementations. + + Pathname objects may be given to override the path for a component. +Such objects are typically specified using reader macros such as `#p' +or `#.(make-pathname ...)'. Note however, that `#p...' is a shorthand +for `#.(parse-namestring ...)' and that the behavior of +`parse-namestring' is completely non-portable, unless you are using +Common Lisp `logical-pathname's, which themselves involve other +non-portable behavior (*note Using logical pathnames: The defsystem +grammar, below). Pathnames made with `#.(make-pathname ...)' can +usually be done more easily with the string syntax above. The only +case that you really need a pathname object is to override the +component-type default file type for a given component. Therefore, +pathname objects should only rarely be used. Unhappily, ASDF 1 didn't +properly support parsing component names as strings specifying paths +with directories, and the cumbersome `#.(make-pathname ...)' syntax had +to be used. An alternative to `#.' read-time evaluation is to use +`(eval `(defsystem ... ,pathname ...))'. + + Note that when specifying pathname objects, ASDF does not do any +special interpretation of the pathname influenced by the component +type, unlike the procedure for pathname-specifying strings. On the one +hand, you have to be careful to provide a pathname that correctly +fulfills whatever constraints are required from that component type +(e.g. naming a directory or a file with appropriate type); on the other +hand, you can circumvent the file type that would otherwise be forced +upon you if you were specifying a string. + +5.3.7 Version specifiers +------------------------ + +Version specifiers are strings to be parsed as period-separated lists +of integers. I.e., in the example, `"0.2.1"' is to be interpreted, +roughly speaking, as `(0 2 1)'. In particular, version `"0.2.1"' is +interpreted the same as `"0.0002.1"', though the latter is not +canonical and may lead to a warning being issued. Also, `"1.3"' and +`"1.4"' are both strictly `uiop:version<' to `"1.30"', quite unlike +what would have happened had the version strings been interpreted as +decimal fractions. + + System definers are encouraged to use version identifiers of the form +X.Y.Z for major version, minor version and patch level, where +significant API incompatibilities are signaled by an increased major +number. + + *Note Common attributes of components::. + +5.3.8 Using logical pathnames +----------------------------- + +We do not generally recommend the use of logical pathnames, especially +not so to newcomers to Common Lisp. However, we do support the use of +logical pathnames by old timers, when such is their preference. + + To use logical pathnames, you will have to provide a pathname object +as a `:pathname' specifier to components that use it, using such syntax +as `#p"LOGICAL-HOST:absolute;path;to;component.lisp"'. + + You only have to specify such logical pathname for your system or +some top-level component. Sub-components' relative pathnames, +specified using the string syntax for names, will be properly merged +with the pathnames of their parents. The specification of a logical +pathname host however is _not_ otherwise directly supported in the ASDF +syntax for pathname specifiers as strings. + + The `asdf-output-translation' layer will avoid trying to resolve and +translate logical pathnames. The advantage of this is that you can +define yourself what translations you want to use with the logical +pathname facility. The disadvantage is that if you do not define such +translations, any system that uses logical pathnames will behave +differently under asdf-output-translations than other systems you use. + + If you wish to use logical pathnames you will have to configure the +translations yourself before they may be used. ASDF currently provides +no specific support for defining logical pathname translations. + + Note that the reasons we do not recommend logical pathnames are that +(1) there is no portable way to set up logical pathnames before they +are used, (2) logical pathnames are limited to only portably use a +single character case, digits and hyphens. While you can solve the +first issue on your own, describing how to do it on each of fifteen +implementations supported by ASDF is more than we can document. As for +the second issue, mind that the limitation is notably enforced on SBCL, +and that you therefore can't portably violate the limitations but must +instead define some encoding of your own and add individual mappings to +name physical pathnames that do not fit the restrictions. This can +notably be a problem when your Lisp files are part of a larger project +in which it is common to name files or directories in a way that +includes the version numbers of supported protocols, or in which files +are shared with software written in different programming languages +where conventions include the use of underscores, dots or CamelCase in +pathnames. + +5.3.9 Serial dependencies +------------------------- + +If the `:serial t' option is specified for a module, ASDF will add +dependencies for each child component, on all the children textually +preceding it. This is done as if by `:depends-on'. + + :serial t + :components ((:file "a") (:file "b") (:file "c")) + + is equivalent to + + :components ((:file "a") + (:file "b" :depends-on ("a")) + (:file "c" :depends-on ("a" "b"))) + +5.3.10 Source location +---------------------- + +The `:pathname' option is optional in all cases for systems defined via +`defsystem', and in the usual case the user is recommended not to +supply it. + + Instead, ASDF follows a hairy set of rules that are designed so that + 1. `find-system' will load a system from disk and have its pathname + default to the right place. + + 2. This pathname information will not be overwritten with + `*default-pathname-defaults*' (which could be somewhere else + altogether) if the user loads up the `.asd' file into his editor + and interactively re-evaluates that form. + + If a system is being loaded for the first time, its top-level +pathname will be set to: + + * The host/device/directory parts of `*load-truename*', if it is + bound. + + * `*default-pathname-defaults*', otherwise. + + If a system is being redefined, the top-level pathname will be + + * changed, if explicitly supplied or obtained from `*load-truename*' + (so that an updated source location is reflected in the system + definition) + + * changed if it had previously been set from + `*default-pathname-defaults*' + + * left as before, if it had previously been set from + `*load-truename*' and `*load-truename*' is currently unbound (so + that a developer can evaluate a `defsystem' form from within an + editor without clobbering its source location) + +5.3.11 if-feature option +------------------------ + +This option allows you to specify a feature expression to be evaluated +as if by `#+' to conditionally include a component in your build. If +the expression is false, the component is dropped as well as any +dependency pointing to it. As compared to using `#+' which is expanded +at read-time, this allows you to have an object in your component +hierarchy that can be used for manipulations beside building your +project. This option was added in ASDF 3. + +5.3.12 if-component-dep-fails option +------------------------------------ + +This option was removed in ASDF 3. Its semantics was limited in +purpose and dubious to explain, and its implementation was breaking a +hole into the ASDF object model. Please use the `if-feature' option +instead. + + +File: asdf.info, Node: Other code in .asd files, Prev: The defsystem grammar, Up: Defining systems with defsystem + +5.4 Other code in .asd files +============================ + +Files containing `defsystem' forms are regular Lisp files that are +executed by `load'. Consequently, you can put whatever Lisp code you +like into these files. However, it is recommended to keep such forms +to a minimal, and to instead define `defsystem' extensions that you use +with `:defsystem-depends-on'. + + If however, you might insist on including code in the `.asd' file +itself, e.g., to examine and adjust the compile-time environment, +possibly adding appropriate features to `*features*'. If so, here are +some conventions we recommend you follow, so that users can control +certain details of execution of the Lisp in `.asd' files: + + * Any informative output (other than warnings and errors, which are + the condition system's to dispose of) should be sent to the + standard CL stream `*standard-output*', so that users can easily + control the disposition of output from ASDF operations. + + +File: asdf.info, Node: The object model of ASDF, Next: Controlling where ASDF searches for systems, Prev: Defining systems with defsystem, Up: Top + +6 The object model of ASDF +************************** + +ASDF is designed in an object-oriented way from the ground up. Both a +system's structure and the operations that can be performed on systems +follow a extensible protocol. + + This allows the addition of behaviours: for example, `cffi' adds +support of special FFI description files to interface with C libraries +and of wrapper files to embed C code in Lisp; `abcl-jar' supports +creating Java JAR archives in ABCL; and `poiu' supports for compiling +code in parallel using background processes. + + This chapter deals with `component's and `operation's. + + A `component' represents an individual source file or a group of +source files, and the things that get transformed into. A `system' is +a component at the top level of the component hierarchy. A +`source-file' is a component representing a single source-file and the +successive output files into which it is transformed. A `module' is an +intermediate component itself grouping several other components, +themselves source-files or further modules. + + An `Operation' represents a transformation that can be performed on +a component, turning them from source files to intermediate results to +final outputs. + + A pair of an `operation' and a `component' is called an `action'. +An `action' represents a particular build step to be `perform'ed, after +all its dependencies have been fulfilled. In the ASDF model, actions +depend on other actions. The term _action_ itself was used by Kent +Pitman in his old article, but was only used by ASDF hackers starting +with the ASDF 2; but the concept is ubiquitous since the very beginning +of ASDF 1, though previously implicit. + + Then, there are many _functions_ available to users, extenders and +implementers of ASDF to use, define or implement the activities that +are part of building your software. Though they manipulate `action's, +most of these functions do not take as an argument a reified pair (a +`cons' cell) of an operation and a component; instead, they usually +take two separate arguments, which allows to take advantage of the +power CLOS-style multiple dispatch for fun and profit. + + There are many _hooks_ in which to add functionality, by customizing +the behavior of existing _functions_. + + Last but not least is the notion of _dependency_ between two actions. +The structure of dependencies between actions is a directed _dependency +graph_. ASDF is invoked by being told to _operate_ with some +_operation_ on some toplevel _system_; it will then _traverse_ the +graph and build a _plan_ that follows its structure. To be +successfully buildable, this graph of actions but be acyclic. If, as a +user, extender or implementer of ASDF, you fail to keep the dependency +graph without cycles, ASDF will fail loudly as it eventually finds one. +To clearly distinguish the direction of dependencies, ASDF 3 uses the +words _requiring_ and _required_ as applied to an action depending on +the other: the requiring action `depends-on' the completion of all +required actions before it may itself be `perform'ed. + + Using the `defsystem' syntax, users may easily express direct +dependencies along the graph of the object hierarchy: between a +component and its parent, its children, and its siblings. By defining +custom CLOS methods, you can express more elaborate dependencies as you +wish. Most common operations, such as `load-op', `compile-op' or +`load-source-op' are automatically propagate "downward" the component +hierarchy and are "covariant" with it: to act the operation on the +parent module, you must first act it on all the children components, +with the action on the parent being parent of the action on each child. +Other operations, such as `prepare-op' and `prepare-source-op' +(introduced in ASDF 3) are automatically propagated "upward" the +component hierarchy and are "contravariant" with it: to perform the +operation of preparing for compilation of a child component, you must +perform the operation of preparing for compilation of its parent +component, and so on, ensuring that all the parent's dependencies are +(compiled and) loaded before the child component may be compiled and +loaded. Yet other operations, such as `test-op' or `load-fasl-op' +remain at the system level, and are not propagated along the hierarchy, +but instead do something global on the system. + +* Menu: + +* Operations:: +* Components:: +* Functions:: + + +File: asdf.info, Node: Operations, Next: Components, Prev: The object model of ASDF, Up: The object model of ASDF + +6.1 Operations +============== + +An "operation" object of the appropriate type is instantiated whenever +the user wants to do something with a system like + + * compile all its files + + * load the files into a running lisp environment + + * copy its source files somewhere else + + Operations can be invoked directly, or examined to see what their +effects would be without performing them. There are a bunch of methods +specialised on operation and component type that actually do the grunt +work. + + The operation object contains whatever state is relevant for this +purpose (perhaps a list of visited nodes, for example) but primarily is +a nice thing to specialise operation methods on and easier than having +them all be `EQL' methods. + + Operations are invoked on systems via `operate'. + + -- Generic function: `operate' OPERATION SYSTEM &rest INITARGS &key + `force' `force-not' `verbose' &allow-other-keys + -- Generic function: `oos' OPERATION SYSTEM &rest INITARGS &key + &allow-other-keys + `operate' invokes OPERATION on SYSTEM. `oos' is a synonym for + `operate'. + + OPERATION is a symbol that is passed, along with the supplied + INITARGS, to `make-instance' to create the operation object. + SYSTEM is a system designator. + + The INITARGS are passed to the `make-instance' call when creating + the operation object. Note that dependencies may cause the + operation to invoke other operations on the system or its + components: the new operations will be created with the same + INITARGS as the original one. + + If FORCE is `:all', then all systems are forced to be recompiled + even if not modified since last compilation. If FORCE is `t', + then only the system being loaded is forced to be recompiled even + if not modified since last compilation, but other systems are not + affected. If FORCE is a list, then it specifies a list of systems + that are forced to be recompiled even if not modified since last + compilation. If FORCE-NOT is `:all', then all systems are forced + not to be recompiled even if modified since last compilation. If + FORCE-NOT is `t', then only the system being loaded is forced not + to be recompiled even if modified since last compilation, but + other systems are not affected. If FORCE-NOT is a list, then it + specifies a list of systems that are forced not to be recompiled + even if modified since last compilation. FORCE takes precedences + over FORCE-NOT; both of them apply to systems that are + dependencies and were already compiled. + + To see what `operate' would do, you can use: + (asdf:traverse operation-class system-name) + + +* Menu: + +* Predefined operations of ASDF:: +* Creating new operations:: + + +File: asdf.info, Node: Predefined operations of ASDF, Next: Creating new operations, Prev: Operations, Up: Operations + +6.1.1 Predefined operations of ASDF +----------------------------------- + +All the operations described in this section are in the `asdf' package. +They are invoked via the `operate' generic function. + + (asdf:operate 'asdf:OPERATION-NAME :SYSTEM-NAME {OPERATION-OPTIONS ...}) + + -- Operation: `compile-op' + This operation compiles the specified component. A + `cl-source-file' will be `compile-file''d. All the children and + dependencies of a system or module will be recursively compiled by + `compile-op'. + + `compile-op' depends on `prepare-op' which itself depends on a + `load-op' of all of a component's dependencies, as well as of its + parent's dependencies. When `operate' is called on `compile-op', + all these dependencies will be loaded as well as compiled; yet, + some parts of the system main remain unloaded, because nothing + depends on them. Use `load-op' to load a system. + + -- Operation: `load-op' + This operation loads the compiled code for a specified component. + A `cl-source-file' will have its compiled fasl `load'ed, which + fasl is the output of `compile-op' that `load-op' depends on. All + the children and dependencies of a system or module will be + recursively loaded by `load-op'. + + `load-op' depends on `prepare-op' which itself depends on a + `load-op' of all of a component's dependencies, as well as of its + parent's dependencies. + + -- Operation: `prepare-op' + This operation ensures that the dependencies of a component and + its recursive parents are loaded (as per `load-op'), as a + prerequisite before `compile-op' and `load-op' operations may be + performed on a given component. + + -- Operation: `load-source-op', `prepare-source-op' + `load-source-op' will load the source for the files in a module + rather than they compiled fasl output. It has a + `prepare-source-op' analog to `prepare-op', that ensures the + dependencies are themselves loaded via `load-source-op'. + + There is no provision in ASDF for ensuring that some components + are always loaded as source, while others are always compiled. + While this idea often comes up in discussions, it actually doesn't + play well with either the linking model of ECL or with various + bundle operations (see below), and is eventually not workable; + also the dependency model of ASDF would have to be modified + incompatibly to allow for such trick. If your code doesn't + compile cleanly, fix it. If compilation makes it slow, use + `declaim' or `eval-when' to adjust your compiler settings, or + eschew compilation by `eval'uating a quoted source form at + load-time. + + -- Operation: `test-op' + This operation will perform some tests on the module. The default + method will do nothing. The default dependency is to require + `load-op' to be performed on the module first. The default + `operation-done-p' is that the operation is _never_ done -- we + assume that if you invoke the `test-op', you want to test the + system, even if you have already done so. + + The results of this operation are not defined by ASDF. It has + proven difficult to define how the test operation should signal + its results to the user in a way that is compatible with all of + the various test libraries and test techniques in use in the + community. + + People typically define `test-op' methods like thus: + (defmethod perform ((o asdf:test-op) + (s (eql (asdf:find-system :MY-SYSTEM)))) + (asdf:load-system :MY-SYSTEM-TEST) + (funcall (read-from-string "my-system-test:test-suite"))) + + Using `load-system' in the perform method rather than an + `:in-order-to' dependency, is sometimes necessary for backward + compatibility with ASDF 2 and older, to avoid circular + dependencies that could arise because of the way these old + versions propagate dependencies. + + If you don't care for compatibility with ASDF 2, you could use the + following options in your `defsystem' form: + :in-order-to ((test-op (load-op :my-system-test))) + :perform (test-op (o c) (symbol-call :my-system-test :test-suite)) + + -- Operation: `fasl-op', `monolithic-fasl-op', `load-fasl-op', + `binary-op', `monolithic-binary-op', `lib-op', + `monolithic-lib-op', `dll-op', `monolithic-dll-op', + `program-op' + These are "bundle" operations, that can create a single-file + "bundle" for all the contents of each system in an application, or + for the entire application. + + `fasl-op' will create a single fasl file for each of the systems + needed, grouping all its many fasls in one, so you can deliver + each system as a single fasl. `monolithic-fasl-op' will create a + single fasl file for target system and all its dependencies, so + you can deliver your entire application as a single fasl. + `load-fasl-op' will load the output of `fasl-op' (though if it the + output is not up-to-date, it will load the intermediate fasls + indeed as part of building it); this matters a lot on ECL, where + the dynamic linking involved in loading tens of individual fasls + can be noticeably more expensive than loading a single one. + + Once you have created a fasl with `fasl-op', you can use + `precompiled-system' to deliver it in a way that is compatible + with clients having dependencies on your system, whether it is + distributed as source or as a single binary; the `.asd' file to be + delivered with the fasl will look like this: + (defsystem :mysystem :class :precompiled-system + :fasl (some expression that will evaluate to a pathname)) + Or you can use `binary-op' to let ASDF create such a system for you + as well as the `fasl-op' output, or `monolithic-binary-op'. This + allows you to deliver code for your systems or applications as a + single file. Of course, if you want to test the result in the + current image, _before_ you try to use any newly created `.asd' + files, you should not forget to `(asdf:clear-configuration)' or at + least `(asdf:clear-source-registry)', so it re-populates the + source-registry from the filesystem. + + The `program-op' operation will create an executable program from + the specified system and its dependencies. You can use UIOP for + its pre-image-dump hooks, its post-image-restore hooks, and its + access to command-line arguments. And you can specify an entry + point `my-app:main' by specifying in your `defsystem' the option + `:entry-point "my-app:main"'. Depending on your implementation, + running `(asdf:operate 'asdf:program-op :my-app)' may quit the + current Lisp image upon completion. See the example in + `test/hello-world-example.asd' and `test/hello.lisp', as built and + tested by `test/test-program.script' and + `test/make-hello-world.lisp'. + + There is also `lib-op' for building a linkable `.a' file (Windows: + `.lib') from all linkable object dependencies (FFI files, and on + ECL, Lisp files too), and its monolithic equivalent + `monolithic-lib-op'. And there is also `dll-op' (respectively its + monolithic equivalent `monolithic-lib-op') for building a linkable + `.so' file (Windows: `.dll', MacOS X: `.dynlib') to create a + single dynamic library for all the extra FFI code to be linked + into each of your systems (respectively your entire application). + + All these "bundle" operations are available since ASDF 3 on all + actively supported Lisp implementations, but may be unavailable on + unmaintained legacy implementations. This functionality was + previously available for select implementations, as part of a + separate system `asdf-bundle', itself descended from the ECL-only + `asdf-ecl'. + + The pathname of the output of bundle operations is subject to + output-translation as usual, unless the operation is equal to the + `:build-operation' argument to `defsystem'. This behavior is not + very satisfactory and may change in the future. Maybe you have + suggestions on how to better configure it? + + -- Operation: `concatenate-source-op', + `monolithic-concatenate-source-op', + `load-concatenated-source-op', + `compile-concatenated-source-op', + `load-compiled-concatenated-source-op', + `monolithic-load-concatenated-source-op', + `monolithic-compile-concatenated-source-op', + `monolithic-load-compiled-concatenated-source-op' + These operation, as their respective names indicate, consist in + concatenating all `cl-source-file' source files in a system (or in + a system and all its dependencies, if monolithic), in the order + defined by dependencies, then loading the result, or compiling + then loading the result. + + These operations are useful to deliver a system or application as + a single source file, and for testing that said file loads + properly, or compiles then loads properly. + + ASDF itself is notably delivered as a single source file this way + using `monolithic-concatenate-source-op', transcluding a prelude + and the `uiop' library before the `asdf/defsystem' system itself. + + +File: asdf.info, Node: Creating new operations, Prev: Predefined operations of ASDF, Up: Operations + +6.1.2 Creating new operations +----------------------------- + +ASDF was designed to be extensible in an object-oriented fashion. To +teach ASDF new tricks, a programmer can implement the behaviour he wants +by creating a subclass of `operation'. + + ASDF's pre-defined operations are in no way "privileged", but it is +requested that developers never use the `asdf' package for operations +they develop themselves. The rationale for this rule is that we don't +want to establish a "global asdf operation name registry", but also +want to avoid name clashes. + + Your operation _must_ usually provide methods for one or more of the +following generic functions: + + * `perform' Unless your operation, like `prepare-op', is for + dependency propagation only, the most important function for which + to define a method is usually `perform', which will be called to + perform the operation on a specified component, after all + dependencies have been performed. + + The `perform' method must call `output-files' (see below) to find + out where to put its files, because the user is allowed to + override the method or tweak the output-translation mechanism. + Perform should only use the primary value returned by + `output-files'. If one and only one output file is expected, it + can call `output-file' that checks that this is the case and + returns the first and only list element. + + * `output-files' If your perform method has any output, you must + define a method for this function. for ASDF to determine where + the outputs of performing operation lie. + + Your method may return two values, a list of pathnames, and a + boolean. If the boolean is `nil' (or you fail to return multiple + values), then enclosing `:around' methods may translate these + pathnames, e.g. to ensure object files are somehow stored in some + implementation-dependent cache. If the boolean is `t' then the + pathnames are marked not be translated by the enclosing `:around' + method. + + * `component-depends-on' If the action of performing the operation + on a component has dependencies, you must define a method on + `component-depends-on'. + + Your method will take as specialized arguments an operation and a + component which together identify an action, and return a list of + entries describing actions that this action depends on. The + format of entries is described below. + + It is _strongly_ advised that you should always append the results + of `(call-next-method)' to the results of your method, or + "interesting" failures will likely occur, unless you're a true + specialist of ASDF internals. It is unhappily too late to + compatibly use the `append' method combination, but conceptually + that's the protocol that is being manually implemented. + + Each entry returned by `component-depends-on' is itself a list. + + The first element of an entry is an operation designator: either + an operation object designating itself, or a symbol that names an + operation class (that ASDF will instantiate using + `make-operation'). For instance, `load-op', `compile-op' and + `prepare-op' are common such names, denoting the respective + operations. + + The rest of each entry is a list of component designators: either + a component object designating itself, or an identifier to be used + with `find-component'. `find-component' will be called with the + current component's parent as parent, and the identifier as second + argument. The identifier is typically a string, a symbol (to be + downcased as per `coerce-name'), or a list of strings or symbols. + In particular, the empty list `nil' denotes the parent itself. + + + An operation _may_ provide methods for the following generic +functions: + + * `input-files' A method for this function is often not needed, + since ASDF has a pretty clever default `input-files' mechanism. + You only need create a method if there are multiple ultimate input + files, and/or the bottom one doesn't depend on the + `component-pathname' of the component. + + * `operation-done-p' You only need to define a method on that + function if you can detect conditions that invalidate previous + runs of the operation, even though no filesystem timestamp has + changed, in which case you return `nil' (the default is `t'). + + For instance, the method for `test-op' always returns `nil', so + that tests are always run afresh. Of course, the `test-op' for + your system could depend on a deterministically repeatable + `test-report-op', and just read the results from the report files, + in which case you could have this method return `t'. + + + Operations that print output should send that output to the standard +CL stream `*standard-output*', as the Lisp compiler and loader do. + + +File: asdf.info, Node: Components, Next: Functions, Prev: Operations, Up: The object model of ASDF + +6.2 Components +============== + +A "component" represents a source file or (recursively) a collection of +components. A "system" is (roughly speaking) a top-level component +that can be found via `find-system'. + + A "system designator" is a system itself, or a string or symbol that +behaves just like any other component name (including with regard to +the case conversion rules for component names). + + A "component designator", relative to a base component, is either a +component itself, or a string or symbol, or a list of designators. + + -- Function: find-system system-designator &optional (error-p t) + Given a system designator, `find-system' finds and returns a + system. If no system is found, an error of type + `missing-component' is thrown, or `nil' is returned if `error-p' + is false. + + To find and update systems, `find-system' funcalls each element in + the `*system-definition-search-functions*' list, expecting a + pathname to be returned, or a system object, from which a pathname + may be extracted, and that will be registered. The resulting + pathname (if any) is loaded if one of the following conditions is + true: + + * there is no system of that name in memory + + * the pathname is different from that which was previously + loaded + + * the file's `last-modified' time exceeds the `last-modified' + time of the system in memory + + When system definitions are loaded from `.asd' files, a new + scratch package is created for them to load into, so that + different systems do not overwrite each others operations. The + user may also wish to (and is recommended to) include `defpackage' + and `in-package' forms in his system definition files, however, so + that they can be loaded manually if need be. + + The default value of `*system-definition-search-functions*' is a + list of two functions. The first function looks in each of the + directories given by evaluating members of `*central-registry*' + for a file whose name is the name of the system and whose type is + `asd'. The first such file is returned, whether or not it turns + out to actually define the appropriate system. The second + function does something similar, for the directories specified in + the `source-registry'. Hence, it is strongly advised to define a + system FOO in the corresponding file FOO.ASD. + + -- Function: find-component base path + Given a BASE component (or designator for such), and a PATH, find + the component designated by the PATH starting from the BASE. + + If PATH is a component object, it designates itself, independently + from the base. + + If PATH is a string, or symbol denoting a string via `coerce-name', + then BASE is resolved to a component object, which must be a + system or module, and the designated component is the child named + by the PATH. + + If PATH is a `cons' cell, `find-component' with the base and the + `car' of the PATH, and the resulting object is used as the base + for a tail call to `find-component' with the `car' of the PATH. + + If BASE is a component object, it designates itself. + + If BASE is null, then PATH is used as the base, with `nil' as the + path. + + If BASE is a string, or symbol denoting a string via `coerce-name', + it designates a system as per `find-system'. + + If BASE is a `cons' cell, it designates the component found by + `find-component' with its `car' as base and `cdr' as path. + +* Menu: + +* Common attributes of components:: +* Pre-defined subclasses of component:: +* Creating new component types:: + + +File: asdf.info, Node: Common attributes of components, Next: Pre-defined subclasses of component, Prev: Components, Up: Components + +6.2.1 Common attributes of components +------------------------------------- + +All components, regardless of type, have the following attributes. All +attributes except `name' are optional. + +6.2.1.1 Name +............ + +A component name is a string or a symbol. If a symbol, its name is +taken and lowercased. + + Unless overridden by a `:pathname' attribute, the name will be +interpreted as a pathname specifier according to a Unix-style syntax. +*Note Pathname specifiers: The defsystem grammar. + +6.2.1.2 Version identifier +.......................... + +This optional attribute specifies a version for the current component. +The version should typically be a string of integers separated by dots, +for example `1.0.11'. For more information on version specifiers, see +*note The defsystem grammar::. + + A version may then be queried by the generic function +`version-satisfies', to see if `:version' dependencies are satisfied, +and when specifying dependencies, a constraint of minimal version to +satisfy can be specified using e.g. `(:version "mydepname" "1.0.11")'. + + Note that in the wild, we typically see version numbering only on +components of type `system'. Presumably it is much less useful within +a given system, wherein the library author is responsible to keep the +various files in synch. + +6.2.1.3 Required features +......................... + +Traditionally defsystem users have used `#+' reader conditionals to +include or exclude specific per-implementation files. This means that +any single implementation cannot read the entire system, which becomes +a problem if it doesn't wish to compile it, but instead for example to +create an archive file containing all the sources, as it will omit to +process the system-dependent sources for other systems. + + Each component in an asdf system may therefore specify using +`:if-feature' a feature expression using the same syntax as `#+' does, +such that any reference to the component will be ignored during +compilation, loading and/or linking if the expression evaluates to +false. Since the expression is read by the normal reader, you must +explicitly prefix your symbols with `:' so they be read as keywords; +this is as contrasted with the `#+' syntax that implicitly reads +symbols in the keyword package by default. + + For instance, `:if-feature (:and :x86 (:or :sbcl :cmu :scl))' +specifies that the given component is only to be compiled and loaded +when the implementation is SBCL, CMUCL or Scieneer CL on an x86 machine. +You can not write it as `:if-feature (and x86 (or sbcl cmu scl))' since +the symbols would presumably fail to be read as keywords. + +6.2.1.4 Dependencies +.................... + +This attribute specifies dependencies of the component on its siblings. +It is optional but often necessary. + + There is an excitingly complicated relationship between the initarg +and the method that you use to ask about dependencies + + Dependencies are between (operation component) pairs. In your +initargs for the component, you can say + + :in-order-to ((compile-op (load-op "a" "b") (compile-op "c")) + (load-op (load-op "foo"))) + + This means the following things: + * before performing compile-op on this component, we must perform + load-op on A and B, and compile-op on C, + + * before performing `load-op', we have to load FOO + + The syntax is approximately + +(this-op @{(other-op required-components)@}+) + +simple-component-name := string + | symbol + +required-components := simple-component-name + | (required-components required-components) + +component-name := simple-component-name + | (:version simple-component-name minimum-version-object) + + Side note: + + This is on a par with what ACL defsystem does. mk-defsystem is less +general: it has an implied dependency + + for all source file x, (load x) depends on (compile x) + + and using a `:depends-on' argument to say that B depends on A +_actually_ means that + + (compile b) depends on (load a) + + This is insufficient for e.g. the McCLIM system, which requires that +all the files are loaded before any of them can be compiled ] + + End side note + + In ASDF, the dependency information for a given component and +operation can be queried using `(component-depends-on operation +component)', which returns a list + + ((load-op "a") (load-op "b") (compile-op "c") ...) + + `component-depends-on' can be subclassed for more specific +component/operation types: these need to `(call-next-method)' and +append the answer to their dependency, unless they have a good reason +for completely overriding the default dependencies. + + If it weren't for CLISP, we'd be using `LIST' method combination to +do this transparently. But, we need to support CLISP. If you have the +time for some CLISP hacking, I'm sure they'd welcome your fixes. + + A minimal version can be specified for a component you depend on +(typically another system), by specifying `(:version "other-system" +"1.2.3")' instead of simply `"other-system"' as the dependency. See +the discussion of the semantics of `:version' in the defsystem grammar. + +6.2.1.5 pathname +................ + +This attribute is optional and if absent (which is the usual case), the +component name will be used. + + *Note Pathname specifiers: The defsystem grammar, for an explanation +of how this attribute is interpreted. + + Note that the `defsystem' macro (used to create a "top-level" system) +does additional processing to set the filesystem location of the top +component in that system. This is detailed elsewhere. *Note Defining +systems with defsystem::. + +6.2.1.6 properties +.................. + +This attribute is optional. + + Packaging systems often require information about files or systems +in addition to that specified by ASDF's pre-defined component +attributes. Programs that create vendor packages out of ASDF systems +therefore have to create "placeholder" information to satisfy these +systems. Sometimes the creator of an ASDF system may know the +additional information and wish to provide it directly. + + `(component-property component property-name)' and associated `setf' +method will allow the programmatic update of this information. +Property names are compared as if by `EQL', so use symbols or keywords +or something. + +* Menu: + +* Pre-defined subclasses of component:: +* Creating new component types:: + + +File: asdf.info, Node: Pre-defined subclasses of component, Next: Creating new component types, Prev: Common attributes of components, Up: Components + +6.2.2 Pre-defined subclasses of component +----------------------------------------- + + -- Component: source-file + A source file is any file that the system does not know how to + generate from other components of the system. + + Note that this is not necessarily the same thing as "a file + containing data that is typically fed to a compiler". If a file + is generated by some pre-processor stage (e.g. a `.h' file from + `.h.in' by autoconf) then it is not, by this definition, a source + file. Conversely, we might have a graphic file that cannot be + automatically regenerated, or a proprietary shared library that we + received as a binary: these do count as source files for our + purposes. + + Subclasses of source-file exist for various languages. _FIXME: + describe these._ + + -- Component: module + A module is a collection of sub-components. + + A module component has the following extra initargs: + + * `:components' the components contained in this module + + * `:default-component-class' All children components which + don't specify their class explicitly are inferred to be of + this type. + + * `:if-component-dep-fails' This attribute was removed in ASDF + 3. Do not use it. Use `:if-feature' instead. + + * `:serial' When this attribute is set, each subcomponent of + this component is assumed to depend on all subcomponents + before it in the list given to `:components', i.e. all of + them are loaded before a compile or load operation is + performed on it. + + + The default operation knows how to traverse a module, so most + operations will not need to provide methods specialised on modules. + + `module' may be subclassed to represent components such as + foreign-language linked libraries or archive files. + + -- Component: system + `system' is a subclass of `module'. + + A system is a module with a few extra attributes for documentation + purposes; these are given elsewhere. *Note The defsystem + grammar::. + + Users can create new classes for their systems: the default + `defsystem' macro takes a `:class' keyword argument. + + +File: asdf.info, Node: Creating new component types, Prev: Pre-defined subclasses of component, Up: Components + +6.2.3 Creating new component types +---------------------------------- + +New component types are defined by subclassing one of the existing +component classes and specializing methods on the new component class. + + _FIXME: this should perhaps be explained more throughly, not only by +example ..._ + + As an example, suppose we have some implementation-dependent +functionality that we want to isolate in one subdirectory per Lisp +implementation our system supports. We create a subclass of +`cl-source-file': + + (defclass unportable-cl-source-file (cl-source-file) + ()) + + Function `asdf:implementation-type' (exported since 2.014.14) gives +us the name of the subdirectory. All that's left is to define how to +calculate the pathname of an `unportable-cl-source-file'. + + (defmethod component-pathname ((component unportable-cl-source-file)) + (merge-pathnames* + (parse-unix-namestring (format nil "~(~A~)/" (asdf:implementation-type))) + (call-next-method))) + + The new component type is used in a `defsystem' form in this way: + + (defsystem :foo + :components + ((:file "packages") + ... + (:unportable-cl-source-file "threads" + :depends-on ("packages" ...)) + ... + ) + + +File: asdf.info, Node: Functions, Prev: Components, Up: The object model of ASDF + +6.3 Functions +============= + + -- version-satisfies: VERSION VERSION-SPEC + Does VERSION satisfy the VERSION-SPEC. A generic function. ASDF + provides built-in methods for VERSION being a `component' or + `string'. VERSION-SPEC should be a string. If it's a component, + its version is extracted as a string before further processing. + + A version string satisfies the version-spec if after parsing, the + former is no older than the latter. Therefore `"1.9.1"', + `"1.9.2"' and `"1.10"' all satisfy `"1.9.1"', but `"1.8.4"' or + `"1.9"' do not. For more information about how + `version-satisfies' parses and interprets version strings and + specifications, *note The defsystem grammar:: (version specifiers) + and *note Common attributes of components::. + + Note that in versions of ASDF prior to 3.0.1, including the entire + ASDF 1 and ASDF 2 series, `version-satisfies' would also require + that the version and the version-spec have the same major version + number (the first integer in the list); if the major version + differed, the version would be considered as not matching the spec. + But that feature was not documented, therefore presumably not + relied upon, whereas it was a nuisance to several users. Starting + with ASDF 3.0.1, `version-satisfies' does not treat the major + version number specially, and returns T simply if the first + argument designates a version that isn't older than the one + specified as a second argument. If needs be, the `(:version ...)' + syntax for specifying dependencies could be in the future extended + to specify an exclusive upper bound for compatible versions as + well as an inclusive lower bound. + + +File: asdf.info, Node: Controlling where ASDF searches for systems, Next: Controlling where ASDF saves compiled files, Prev: The object model of ASDF, Up: Top + +7 Controlling where ASDF searches for systems +********************************************* + +7.1 Configurations +================== + +Configurations specify paths where to find system files. + + 1. The search registry may use some hardcoded wrapping registry + specification. This allows some implementations (notably SBCL) to + specify where to find some special implementation-provided systems + that need to precisely match the version of the implementation + itself. + + 2. An application may explicitly initialize the source-registry + configuration using the configuration API (*note Configuration + API: Controlling where ASDF searches for systems, below) in which + case this takes precedence. It may itself compute this + configuration from the command-line, from a script, from its own + configuration file, etc. + + 3. The source registry will be configured from the environment + variable `CL_SOURCE_REGISTRY' if it exists. + + 4. The source registry will be configured from user configuration file + `$XDG_CONFIG_DIRS/common-lisp/source-registry.conf' (which + defaults to `~/.config/common-lisp/source-registry.conf') if it + exists. + + 5. The source registry will be configured from user configuration + directory `$XDG_CONFIG_DIRS/common-lisp/source-registry.conf.d/' + (which defaults to `~/.config/common-lisp/source-registry.conf.d/') + if it exists. + + 6. The source registry will be configured from system configuration + file `/etc/common-lisp/source-registry.conf' if it exists/ + + 7. The source registry will be configured from system configuration + directory `/etc/common-lisp/source-registry.conf.d/' if it exists. + + 8. The source registry will be configured from a default + configuration. This configuration may allow for + implementation-specific systems to be found, for systems to be + found the current directory (at the time that the configuration is + initialized) as well as `:directory' entries for + `$XDG_DATA_DIRS/common-lisp/systems/' and `:tree' entries for + `$XDG_DATA_DIRS/common-lisp/source/'. For instance, SBCL will + include directories for its contribs when it can find them; it + will look for them where SBCL was installed, or at the location + specified by the `SBCL_HOME' environment variable. + + + Each of these configurations is specified as an s-expression in a +trivial domain-specific language (defined below). Additionally, a more +shell-friendly syntax is available for the environment variable +(defined yet below). + + Each of these configurations is only used if the previous +configuration explicitly or implicitly specifies that it includes its +inherited configuration. + + Additionally, some implementation-specific directories may be +automatically prepended to whatever directories are specified in +configuration files, no matter if the last one inherits or not. + +7.2 Truenames and other dangers +=============================== + +One great innovation of the original ASDF was its ability to leverage +`CL:TRUENAME' to locate where your source code was and where to build +it, allowing for symlink farms as a simple but effective configuration +mechanism that is easy to control programmatically. ASDF 3 still +supports this configuration style, and it is enabled by default; +however we recommend you instead use our source-registry configuration +mechanism described below, because it is easier to setup in a portable +way across users and implementations. + + Addtionally, some people dislike truename, either because it is very +slow on their system, or because they are using content-addressed +storage where the truename of a file is related to a digest of its +individual contents, and not to other files in the same intended +project. For these people, ASDF 3 allows to eschew the `TRUENAME' +mechanism, by setting the variable ASDF:*RESOLVE-SYMLINKS* to `nil'. + + PS: Yes, if you haven't read Vernor Vinge's short but great classic +"True Names... and Other Dangers" then you're in for a treat. + +7.3 XDG base directory +====================== + +Note that we purport to respect the XDG base directory specification as +to where configuration files are located, where data files are located, +where output file caches are located. Mentions of XDG variables refer +to that document. + +`http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html' + + This specification allows the user to specify some environment +variables to customize how applications behave to his preferences. + + On Windows platforms, when not using Cygwin, instead of the XDG base +directory specification, we try to use folder configuration from the +registry regarding `Common AppData' and similar directories. Since +support for querying the Windows registry is not possible to do in +reasonable amounts of portable Common Lisp code, ASDF 3 relies on the +environment variables that Windows usually exports. + +7.4 Backward Compatibility +========================== + +For backward compatibility as well as to provide a practical backdoor +for hackers, ASDF will first search for `.asd' files in the directories +specified in `asdf:*central-registry*' before it searches in the source +registry above. + + *Note Configuring ASDF to find your systems -- old style: +Configuring ASDF. + + By default, `asdf:*central-registry*' will be empty. + + This old mechanism will therefore not affect you if you don't use it, +but will take precedence over the new mechanism if you do use it. + +7.5 Configuration DSL +===================== + +Here is the grammar of the s-expression (SEXP) DSL for source-registry +configuration: + + ;; A configuration is a single SEXP starting with keyword :source-registry + ;; followed by a list of directives. + CONFIGURATION := (:source-registry DIRECTIVE ...) + + ;; A directive is one of the following: + DIRECTIVE := + ;; INHERITANCE DIRECTIVE: + ;; Your configuration expression MUST contain + ;; exactly one of either of these: + :inherit-configuration | ; splices inherited configuration (often specified last) + :ignore-inherited-configuration | ; drop inherited configuration (specified anywhere) + + ;; forward compatibility directive (since ASDF 2.011.4), useful when + ;; you want to use new configuration features but have to bootstrap a + ;; the newer required ASDF from an older release that doesn't sport said features: + :ignore-invalid-entries | ; drops subsequent invalid entries instead of erroring out + + ;; add a single directory to be scanned (no recursion) + (:directory DIRECTORY-PATHNAME-DESIGNATOR) | + + ;; add a directory hierarchy, recursing but excluding specified patterns + (:tree DIRECTORY-PATHNAME-DESIGNATOR) | + + ;; override the defaults for exclusion patterns + (:exclude EXCLUSION-PATTERN ...) | + ;; augment the defaults for exclusion patterns + (:also-exclude EXCLUSION-PATTERN ...) | + ;; Note that the scope of a an exclude pattern specification is + ;; the rest of the current configuration expression or file. + + ;; splice the parsed contents of another config file + (:include REGULAR-FILE-PATHNAME-DESIGNATOR) | + + ;; This directive specifies that some default must be spliced. + :default-registry + + REGULAR-FILE-PATHNAME-DESIGNATOR := PATHNAME-DESIGNATOR ;; interpreted as a file + DIRECTORY-PATHNAME-DESIGNATOR := PATHNAME-DESIGNATOR ;; interpreted as a directory name + + PATHNAME-DESIGNATOR := + NIL | ;; Special: skip this entry. + ABSOLUTE-COMPONENT-DESIGNATOR ;; see pathname DSL + + EXCLUSION-PATTERN := a string without wildcards, that will be matched exactly + against the name of a any subdirectory in the directory component + of a path. e.g. `"_darcs"' will match `#p"/foo/bar/_darcs/src/bar.asd"' + + Pathnames are designated using another DSL, shared with the +output-translations configuration DSL below. The DSL is resolved by +the function `asdf::resolve-location', to be documented and exported at +some point in the future. + + ABSOLUTE-COMPONENT-DESIGNATOR := + (ABSOLUTE-COMPONENT-DESIGNATOR RELATIVE-COMPONENT-DESIGNATOR ...) | + STRING | ;; namestring (better be absolute or bust, directory assumed where applicable). + ;; In output-translations, directory is assumed and **/*.*.* added if it's last. + ;; On MCL, a MacOSX-style POSIX namestring (for MacOS9 style, use #p"..."); + ;; Note that none of the above applies to strings used in *central-registry*, + ;; which doesn't use this DSL: they are processed as normal namestrings. + ;; however, you can compute what you put in the *central-registry* + ;; based on the results of say (asdf::resolve-location "/Users/fare/cl/cl-foo/") + PATHNAME | ;; pathname (better be an absolute path, or bust) + ;; In output-translations, unless followed by relative components, + ;; it better have appropriate wildcards, as in **/*.*.* + :HOME | ;; designates the user-homedir-pathname ~/ + :USER-CACHE | ;; designates the default location for the user cache + :HERE | ;; designates the location of the configuration file + ;; (or *default-pathname-defaults*, if invoked interactively) + :ROOT ;; magic, for output-translations source only: paths that are relative + ;; to the root of the source host and device + ;; Not valid anymore: :SYSTEM-CACHE (was a security hazard) + + RELATIVE-COMPONENT-DESIGNATOR := + (RELATIVE-COMPONENT-DESIGNATOR RELATIVE-COMPONENT-DESIGNATOR ...) | + STRING | ;; relative directory pathname as interpreted by parse-unix-namestring. + ;; In output translations, if last component, **/*.*.* is added + PATHNAME | ;; pathname; unless last component, directory is assumed. + :IMPLEMENTATION | ;; directory based on implementation, e.g. sbcl-1.0.45-linux-x64 + :IMPLEMENTATION-TYPE | ;; a directory based on lisp-implementation-type only, e.g. sbcl + :DEFAULT-DIRECTORY | ;; a relativized version of the default directory + :*/ | ;; any direct subdirectory (since ASDF 2.011.4) + :**/ | ;; any recursively inferior subdirectory (since ASDF 2.011.4) + :*.*.* | ;; any file (since ASDF 2.011.4) + ;; Not supported (anymore): :UID and :USERNAME + + For instance, as a simple case, my +`~/.config/common-lisp/source-registry.conf', which is the default +place ASDF looks for this configuration, once contained: + (:source-registry + (:tree (:home "cl")) ;; will expand to e.g. "/home/joeluser/cl/" + :inherit-configuration) + +7.6 Configuration Directories +============================= + +Configuration directories consist in files each containing a list of +directives without any enclosing `(:source-registry ...)' form. The +files will be sorted by namestring as if by `string<' and the lists of +directives of these files with be concatenated in order. An implicit +`:inherit-configuration' will be included at the _end_ of the list. + + This allows for packaging software that has file granularity (e.g. +Debian's `dpkg' or some future version of `clbuild') to easily include +configuration information about distributed software. + + The convention is that, for sorting purposes, the names of files in +such a directory begin with two digits that determine the order in +which these entries will be read. Also, the type of these files is +conventionally `"conf"' and as a limitation to some implementations +(e.g. GNU clisp), the type cannot be `nil'. + + Directories may be included by specifying a directory pathname or +namestring in an `:include' directive, e.g.: + + (:include "/foo/bar/") + + Hence, to achieve the same effect as my example +`~/.config/common-lisp/source-registry.conf' above, I could simply +create a file +`~/.config/common-lisp/source-registry.conf.d/33-home-fare-cl.conf' +alone in its directory with the following contents: + (:tree "/home/fare/cl/") + +7.6.1 The :here directive +------------------------- + +The `:here' directive is an absolute pathname designator that refers to +the directory containing the configuration file currently being +processed. + + The `:here' directive is intended to simplify the delivery of +complex CL systems, and for easy configuration of projects shared +through revision control systems, in accordance with our design +principle that each participant should be able to provide all and only +the information available to him or her. + + Consider a person X who has set up the source code repository for a +complex project with a master directory `dir/'. Ordinarily, one might +simply have the user add a directive that would look something like +this: + (:tree "path/to/dir") + But what if X knows that there are very large subtrees under dir +that are filled with, e.g., Java source code, image files for icons, +etc.? All of the asdf system definitions are contained in the +subdirectories `dir/src/lisp/' and `dir/extlib/lisp/', and these are +the only directories that should be searched. + + In this case, X can put into `dir/' a file `asdf.conf' that contains +the following: + (:source-registry + (:tree (:here "src/lisp/")) + (:tree (:here "extlib/lisp")) + (:directory (:here "outlier/"))) + + Then when someone else (call her Y) checks out a copy of this +repository, she need only add + (:include "/path/to/my/checkout/directory/asdf.conf") + to one of her previously-existing asdf source location configuration +files, or invoke `initialize-source-registry' with a configuration form +containing that s-expression. ASDF will find the .conf file that X has +provided, and then set up source locations within the working directory +according to X's (relative) instructions. + +7.7 Shell-friendly syntax for configuration +=========================================== + +When considering environment variable `CL_SOURCE_REGISTRY' ASDF will +skip to next configuration if it's an empty string. It will `READ' the +string as a SEXP in the DSL if it begins with a paren `(' and it will +be interpreted much like `TEXINPUTS' list of paths, where + + * paths are separated by a `:' (colon) on Unix platforms +(including cygwin), by a `;' (semicolon) on other platforms (mainly, +Windows). + + * each entry is a directory to add to the search path. + + * if the entry ends with a double slash `//' then it instead +indicates a tree in the subdirectories of which to recurse. + + * if the entry is the empty string (which may only appear once), +then it indicates that the inherited configuration should be +spliced there. + +7.8 Search Algorithm +==================== + +In case that isn't clear, the semantics of the configuration is that +when searching for a system of a given name, directives are processed +in order. + + When looking in a directory, if the system is found, the search +succeeds, otherwise it continues. + + When looking in a tree, if one system is found, the search succeeds. +If multiple systems are found, the consequences are unspecified: the +search may succeed with any of the found systems, or an error may be +raised. ASDF currently returns the first system found, XCVB currently +raised an error. If none is found, the search continues. + + Exclude statements specify patterns of subdirectories the systems +from which to ignore. Typically you don't want to use copies of files +kept by such version control systems as Darcs. Exclude statements are +not propagated to further included or inherited configuration files or +expressions; instead the defaults are reset around every configuration +statement to the default defaults from +`asdf::*default-source-registry-exclusions*'. + + Include statements cause the search to recurse with the path +specifications from the file specified. + + An inherit-configuration statement cause the search to recurse with +the path specifications from the next configuration (*note +Configurations: Controlling where ASDF searches for systems. above). + +7.9 Caching Results +=================== + +The implementation is allowed to either eagerly compute the information +from the configurations and file system, or to lazily re-compute it +every time, or to cache any part of it as it goes. To explicitly flush +any information cached by the system, use the API below. + +7.10 Configuration API +====================== + +The specified functions are exported from your build system's package. +Thus for ASDF the corresponding functions are in package ASDF, and for +XCVB the corresponding functions are in package XCVB. + + -- Function: initialize-source-registry &optional PARAMETER + will read the configuration and initialize all internal variables. + You may extend or override configuration from the environment + and configuration files with the given PARAMETER, which can be + `nil' (no configuration override), or a SEXP (in the SEXP DSL), + a string (as in the string DSL), a pathname (of a file or + directory with configuration), or a symbol (fbound to function + that when called returns one of the above). + + -- Function: clear-source-registry + undoes any source registry configuration and clears any cache + for the search algorithm. You might want to call this function + (or better, `clear-configuration') before you dump an image + that would be resumed with a different configuration, and + return an empty configuration. Note that this does not include + clearing information about systems defined in the current + image, only about where to look for systems not yet defined. + + -- Function: ensure-source-registry &optional PARAMETER + checks whether a source registry has been initialized. If not, + initialize it with the given PARAMETER. + + Every time you use ASDF's `find-system', or anything that uses it +(such as `operate', `load-system', etc.), `ensure-source-registry' is +called with parameter `nil', which the first time around causes your +configuration to be read. If you change a configuration file, you need +to explicitly `initialize-source-registry' again, or maybe simply to +`clear-source-registry' (or `clear-configuration') which will cause the +initialization to happen next time around. + +7.11 Status +=========== + +This mechanism is vastly successful, and we have declared that +`asdf:*central-registry*' is not recommended anymore, though we will +continue to support it. All hooks into implementation-specific search +mechanisms have been integrated in the `wrapping-source-registry' that +everyone uses implicitly. + +7.12 Rejected ideas +=================== + +Alternatives I considered and rejected included: + + 1. Keep `asdf:*central-registry*' as the master with its current + semantics, and somehow the configuration parser expands the new + configuration language into a expanded series of directories of + subdirectories to lookup, pre-recursing through specified + hierarchies. This is kludgy, and leaves little space of future + cleanups and extensions. + + 2. Keep `asdf:*central-registry*' remains the master but extend its + semantics in completely new ways, so that new kinds of entries + may be implemented as a recursive search, etc. This seems + somewhat backwards. + + 3. Completely remove `asdf:*central-registry*' and break backwards + compatibility. Hopefully this will happen in a few years after + everyone migrate to a better ASDF and/or to XCVB, but it would + be very bad to do it now. + + 4. Replace `asdf:*central-registry*' by a symbol-macro with + appropriate magic when you dereference it or setf it. Only the + new variable with new semantics is handled by the new search + procedure. Complex and still introduces subtle semantic issues. + + I've been suggested the below features, but have rejected them, for +the sake of keeping ASDF no more complex than strictly necessary. + + * More syntactic sugar: synonyms for the configuration directives, + such as `(:add-directory X)' for `(:directory X)', or + `(:add-directory-hierarchy X)' or `(:add-directory X :recurse + t)' for `(:tree X)'. + + * The possibility to register individual files instead of + directories. + + * Integrate Xach Beane's tilde expander into the parser, or + something similar that is shell-friendly or shell-compatible. + I'd rather keep ASDF minimal. But maybe this precisely keeps it + minimal by removing the need for evaluated entries that ASDF has? + i.e. uses of `USER-HOMEDIR-PATHNAME' and `$SBCL_HOME' + Hopefully, these are already superseded by the `:default-registry' + + * Using the shell-unfriendly syntax `/**' instead of `//' to + specify recursion down a filesystem tree in the environment + variable. It isn't that Lisp friendly either. + +7.13 TODO +========= + + * Add examples + +7.14 Credits for the source-registry +==================================== + +Thanks a lot to Stelian Ionescu for the initial idea. + + Thanks to Rommel Martinez for the initial implementation attempt. + + All bad design ideas and implementation bugs are to mine, not theirs. +But so are good design ideas and elegant implementation tricks. + + -- Francois-Rene Rideau <fare@tunes.org>, Mon, 22 Feb 2010 00:07:33 +-0500 + + +File: asdf.info, Node: Controlling where ASDF saves compiled files, Next: Error handling, Prev: Controlling where ASDF searches for systems, Up: Top + +8 Controlling where ASDF saves compiled files +********************************************* + +Each Common Lisp implementation has its own format for compiled files +(fasls for short, short for "fast loading"). If you use multiple +implementations (or multiple versions of the same implementation), +you'll soon find your source directories littered with various `fasl's, +`dfsl's, `cfsl's and so on. Worse yet, some implementations use the +same file extension while changing formats from version to version (or +platform to platform) which means that you'll have to recompile binaries +as you switch from one implementation to the next. + + Since ASDF 2, ASDF includes the `asdf-output-translations' facility +to mitigate the problem. + +8.1 Configurations +================== + +Configurations specify mappings from input locations to output +locations. Once again we rely on the XDG base directory specification +for configuration. *Note XDG base directory: Controlling where ASDF +searches for systems. + + 1. Some hardcoded wrapping output translations configuration may be + used. This allows special output translations (or usually, + invariant directories) to be specified corresponding to the + similar special entries in the source registry. + + 2. An application may explicitly initialize the output-translations + configuration using the Configuration API in which case this takes + precedence. (*note Configuration API: Controlling where ASDF + saves compiled files.) It may itself compute this configuration + from the command-line, from a script, from its own configuration + file, etc. + + 3. The source registry will be configured from the environment + variable `ASDF_OUTPUT_TRANSLATIONS' if it exists. + + 4. The source registry will be configured from user configuration file + `$XDG_CONFIG_DIRS/common-lisp/asdf-output-translations.conf' + (which defaults to + `~/.config/common-lisp/asdf-output-translations.conf') if it + exists. + + 5. The source registry will be configured from user configuration + directory + `$XDG_CONFIG_DIRS/common-lisp/asdf-output-translations.conf.d/' + (which defaults to + `~/.config/common-lisp/asdf-output-translations.conf.d/') if it + exists. + + 6. The source registry will be configured from system configuration + file `/etc/common-lisp/asdf-output-translations.conf' if it exists. + + 7. The source registry will be configured from system configuration + directory `/etc/common-lisp/asdf-output-translations.conf.d/' if + it exists. + + + Each of these configurations is specified as a SEXP in a trival +domain-specific language (defined below). Additionally, a more +shell-friendly syntax is available for the environment variable +(defined yet below). + + Each of these configurations is only used if the previous +configuration explicitly or implicitly specifies that it includes its +inherited configuration. + + Note that by default, a per-user cache is used for output files. +This allows the seamless use of shared installations of software +between several users, and takes files out of the way of the developers +when they browse source code, at the expense of taking a small toll +when developers have to clean up output files and find they need to get +familiar with output-translations first. + +8.2 Backward Compatibility +========================== + +We purposefully do NOT provide backward compatibility with earlier +versions of `ASDF-Binary-Locations' (8 Sept 2009), +`common-lisp-controller' (7.0) or `cl-launch' (2.35), each of which had +similar general capabilities. The previous APIs of these programs were +not designed for configuration by the end-user in an easy way with +configuration files. Recent versions of same packages use the new +`asdf-output-translations' API as defined below: +`common-lisp-controller' (7.2) and `cl-launch' (3.000). +`ASDF-Binary-Locations' is fully superseded and not to be used anymore. + + This incompatibility shouldn't inconvenience many people. Indeed, +few people use and customize these packages; these few people are +experts who can trivially adapt to the new configuration. Most people +are not experts, could not properly configure these features (except +inasmuch as the default configuration of `common-lisp-controller' +and/or `cl-launch' might have been doing the right thing for some +users), and yet will experience software that "just works", as +configured by the system distributor, or by default. + + Nevertheless, if you are a fan of `ASDF-Binary-Locations', we +provide a limited emulation mode: + + -- Function: enable-asdf-binary-locations-compatibility &key + centralize-lisp-binaries default-toplevel-directory + include-per-user-information map-all-source-files + source-to-target-mappings + This function will initialize the new `asdf-output-translations' + facility in a way that emulates the behavior of the old + `ASDF-Binary-Locations' facility. Where you would previously set + global variables *CENTRALIZE-LISP-BINARIES*, + *DEFAULT-TOPLEVEL-DIRECTORY*, *INCLUDE-PER-USER-INFORMATION*, + *MAP-ALL-SOURCE-FILES* or *SOURCE-TO-TARGET-MAPPINGS* you will now + have to pass the same values as keyword arguments to this function. + Note however that as an extension the `:source-to-target-mappings' + keyword argument will accept any valid pathname designator for + `asdf-output-translations' instead of just strings and pathnames. + + If you insist, you can also keep using the old +`ASDF-Binary-Locations' (the one available as an extension to load of +top of ASDF, not the one built into a few old versions of ASDF), but +first you must disable `asdf-output-translations' with +`(asdf:disable-output-translations)', or you might experience +"interesting" issues. + + Also, note that output translation is enabled by default. To +disable it, use `(asdf:disable-output-translations)'. + +8.3 Configuration DSL +===================== + +Here is the grammar of the SEXP DSL for `asdf-output-translations' +configuration: + +;; A configuration is single SEXP starting with keyword :source-registry +;; followed by a list of directives. +CONFIGURATION := (:output-translations DIRECTIVE ...) + +;; A directive is one of the following: +DIRECTIVE := + ;; INHERITANCE DIRECTIVE: + ;; Your configuration expression MUST contain + ;; exactly one of either of these: + :inherit-configuration | ; splices inherited configuration (often specified last) + :ignore-inherited-configuration | ; drop inherited configuration (specified anywhere) + + ;; forward compatibility directive (since ASDF 2.011.4), useful when + ;; you want to use new configuration features but have to bootstrap a + ;; the newer required ASDF from an older release that doesn't sport said features: + :ignore-invalid-entries | ; drops subsequent invalid entries instead of erroring out + + ;; include a configuration file or directory + (:include PATHNAME-DESIGNATOR) | + + ;; enable global cache in ~/.common-lisp/cache/sbcl-1.0.45-linux-amd64/ or something. + :enable-user-cache | + ;; Disable global cache. Map / to / + :disable-cache | + + ;; add a single directory to be scanned (no recursion) + (DIRECTORY-DESIGNATOR DIRECTORY-DESIGNATOR) + + ;; use a function to return the translation of a directory designator + (DIRECTORY-DESIGNATOR (:function TRANSLATION-FUNCTION)) + +DIRECTORY-DESIGNATOR := + NIL | ;; As source: skip this entry. As destination: same as source + T | ;; as source matches anything, as destination leaves pathname unmapped. + ABSOLUTE-COMPONENT-DESIGNATOR ;; same as in the source-registry language + +TRANSLATION-FUNCTION := + SYMBOL | ;; symbol of a function that takes two arguments, + ;; the pathname to be translated and the matching DIRECTORY-DESIGNATOR + LAMBDA ;; A form which evalutates to a function taking two arguments consisting of + ;; the pathname to be translated and the matching DIRECTORY-DESIGNATOR + + Relative components better be either relative or subdirectories of +the path before them, or bust. + + The last component, if not a pathname, is notionally completed by +`/**/*.*'. You can specify more fine-grained patterns by using a +pathname object as the last component e.g. +`#p"some/path/**/foo*/bar-*.fasl"' + + You may use `#+features' to customize the configuration file. + + The second designator of a mapping may be `nil', indicating that +files are not mapped to anything but themselves (same as if the second +designator was the same as the first). + + When the first designator is `t', the mapping always matches. When +the first designator starts with `:root', the mapping matches any host +and device. In either of these cases, if the second designator isn't +`t' and doesn't start with `:root', then strings indicating the host +and pathname are somehow copied in the beginning of the directory +component of the source pathname before it is translated. + + When the second designator is `t', the mapping is the identity. +When the second designator starts with `:root', the mapping preserves +the host and device of the original pathname. Notably, this allows you +to map files to a subdirectory of the whichever directory the file is +in. Though the syntax is not quite as easy to use as we'd like, you +can have an (source destination) mapping entry such as follows in your +configuration file, or you may use +`enable-asdf-binary-locations-compatibility' with +`:centralize-lisp-binaries nil' which will do the same thing internally +for you: + #.(let ((wild-subdir (make-pathname :directory '(:relative :wild-inferiors))) + (wild-file (make-pathname :name :wild :version :wild :type :wild))) + `((:root ,wild-subdir ,wild-file) ;; Or using the implicit wildcard, just :root + (:root ,wild-subdir :implementation ,wild-file))) + Starting with ASDF 2.011.4, you can use the simpler: ``(:root (:root +:**/ :implementation :*.*.*))' + + `:include' statements cause the search to recurse with the path +specifications from the file specified. + + If the `translate-pathname' mechanism cannot achieve a desired +translation, the user may provide a function which provides the +required algorithim. Such a translation function is specified by +supplying a list as the second `directory-designator' the first element +of which is the keyword `:function', and the second element of which is +either a symbol which designates a function or a lambda expression. +The function designated by the second argument must take two arguments, +the first being the pathname of the source file, the second being the +wildcard that was matched. The result of the function invocation +should be the translated pathname. + + An `:inherit-configuration' statement cause the search to recurse +with the path specifications from the next configuration. *Note +Configurations: Controlling where ASDF saves compiled files, above. + + * `:enable-user-cache' is the same as `(t :user-cache)'. + + * `:disable-cache' is the same as `(t t)'. + + * `:user-cache' uses the contents of variable `asdf::*user-cache*' + which by default is the same as using `(:home ".cache" + "common-lisp" :implementation)'. + + * `:system-cache' uses the contents of variable + `asdf::*system-cache*' which by default is the same as using + `("/var/cache/common-lisp" :uid :implementation-type)' (on Unix + and cygwin), or something semi-sensible on Windows. + +8.4 Configuration Directories +============================= + +Configuration directories consist in files each contains a list of +directives without any enclosing `(:output-translations ...)' form. +The files will be sorted by namestring as if by `string<' and the lists +of directives of these files with be concatenated in order. An +implicit `:inherit-configuration' will be included at the _end_ of the +list. + + This allows for packaging software that has file granularity (e.g. +Debian's `dpkg' or some future version of `clbuild') to easily include +configuration information about software being distributed. + + The convention is that, for sorting purposes, the names of files in +such a directory begin with two digits that determine the order in +which these entries will be read. Also, the type of these files is +conventionally `"conf"' and as a limitation of some implementations, +the type cannot be `nil'. + + Directories may be included by specifying a directory pathname or +namestring in an `:include' directive, e.g.: + (:include "/foo/bar/") + +8.5 Shell-friendly syntax for configuration +=========================================== + +When considering environment variable `ASDF_OUTPUT_TRANSLATIONS' ASDF +will skip to next configuration if it's an empty string. It will +`READ' the string as an SEXP in the DSL if it begins with a paren `(' +and it will be interpreted as a list of directories. Directories +should come by pairs, indicating a mapping directive. Entries are +separated by a `:' (colon) on Unix platforms (including cygwin), by a +`;' (semicolon) on other platforms (mainly, Windows). + + The magic empty entry, if it comes in what would otherwise be the +first entry in a pair, indicates the splicing of inherited +configuration. If it comes as the second entry in a pair, it indicates +that the directory specified first is to be left untranslated (which +has the same effect as if the directory had been repeated). + +8.6 Semantics of Output Translations +==================================== + +From the specified configuration, a list of mappings is extracted in a +straightforward way: mappings are collected in order, recursing through +included or inherited configuration as specified. To this list is +prepended some implementation-specific mappings, and is appended a +global default. + + The list is then compiled to a mapping table as follows: for each +entry, in order, resolve the first designated directory into an actual +directory pathname for source locations. If no mapping was specified +yet for that location, resolve the second designated directory to an +output location directory add a mapping to the table mapping the source +location to the output location, and add another mapping from the +output location to itself (unless a mapping already exists for the +output location). + + Based on the table, a mapping function is defined, mapping source +pathnames to output pathnames: given a source pathname, locate the +longest matching prefix in the source column of the mapping table. +Replace that prefix by the corresponding output column in the same row +of the table, and return the result. If no match is found, return the +source pathname. (A global default mapping the filesystem root to +itself may ensure that there will always be a match, with same +fall-through semantics). + +8.7 Caching Results +=================== + +The implementation is allowed to either eagerly compute the information +from the configurations and file system, or to lazily re-compute it +every time, or to cache any part of it as it goes. To explicitly flush +any information cached by the system, use the API below. + +8.8 Output location API +======================= + +The specified functions are exported from package ASDF. + + -- Function: initialize-output-translations &optional PARAMETER + will read the configuration and initialize all internal variables. + You may extend or override configuration from the environment + and configuration files with the given PARAMETER, which can be + `nil' (no configuration override), or a SEXP (in the SEXP DSL), + a string (as in the string DSL), a pathname (of a file or + directory with configuration), or a symbol (fbound to function + that when called returns one of the above). + + -- Function: disable-output-translations + will initialize output translations in a way that maps every + pathname to itself, effectively disabling the output + translation facility. + + -- Function: clear-output-translations + undoes any output translation configuration and clears any + cache for the mapping algorithm. You might want to call this + function (or better, `clear-configuration') before you dump + an image that would be resumed with a different configuration, + and return an empty configuration. Note that this does not + include clearing information about systems defined in the + current image, only about where to look for systems not yet + defined. + + -- Function: ensure-output-translations &optional PARAMETER + checks whether output translations have been initialized. If + not, initialize them with the given PARAMETER. This function + will be called before any attempt to operate on a system. + + -- Function: apply-output-translations PATHNAME + Applies the configured output location translations to PATHNAME + (calls `ensure-output-translations' for the translations). + + Every time you use ASDF's `output-files', or anything that uses it +(that may compile, such as `operate', `perform', etc.), +`ensure-output-translations' is called with parameter `nil', which the +first time around causes your configuration to be read. If you change +a configuration file, you need to explicitly +`initialize-output-translations' again, or maybe +`clear-output-translations' (or `clear-configuration'), which will +cause the initialization to happen next time around. + +8.9 Credits for output translations +=================================== + +Thanks a lot to Bjorn Lindberg and Gary King for +`ASDF-Binary-Locations', and to Peter van Eynde for `Common Lisp +Controller'. + + All bad design ideas and implementation bugs are to mine, not theirs. +But so are good design ideas and elegant implementation tricks. + + -- Francois-Rene Rideau <fare@tunes.org> + + +File: asdf.info, Node: Error handling, Next: Miscellaneous additional functionality, Prev: Controlling where ASDF saves compiled files, Up: Top + +9 Error handling +**************** + +9.1 ASDF errors +=============== + +If ASDF detects an incorrect system definition, it will signal a +generalised instance of `SYSTEM-DEFINITION-ERROR'. + + Operations may go wrong (for example when source files contain +errors). These are signalled using generalised instances of +`OPERATION-ERROR'. + +9.2 Compilation error and warning handling +========================================== + +ASDF checks for warnings and errors when a file is compiled. The +variables *COMPILE-FILE-WARNINGS-BEHAVIOUR* and +*COMPILE-FILE-ERRORS-BEHAVIOR* control the handling of any such events. +The valid values for these variables are `:error', `:warn', and +`:ignore'. + + +File: asdf.info, Node: Miscellaneous additional functionality, Next: Getting the latest version, Prev: Error handling, Up: Top + +10 Miscellaneous additional functionality +***************************************** + +ASDF includes several additional features that are generally useful for +system definition and development. + +10.1 Controlling file compilation +================================= + +When declaring a component (system, module, file), you can specify a +keyword argument `:around-compile function'. If left unspecified (and +therefore unbound), the value will be inherited from the parent +component if any, or with a default of `nil' if no value is specified +in any transitive parent. + + The argument must be a either `nil', a fbound symbol, a +lambda-expression (e.g. `(lambda (thunk) ...(funcall thunk ...) ...)') +a function object (e.g. using `#.#'' but that's discouraged because it +prevents the introspection done by e.g. asdf-dependency-grovel), or a +string that when `read' yields a symbol or a lambda-expression. `nil' +means the normal compile-file function will be called. A non-nil value +designates a function of one argument that will be called with a +function that will invoke `compile-file*' with various arguments; the +around-compile hook may supply additional keyword arguments to pass to +that call to `compile-file*'. + + One notable argument that is heeded by `compile-file*' is +`:compile-check', a function called when the compilation was otherwise +a success, with the same arguments as `compile-file'; the function +shall return true if the compilation and its resulting compiled file +respected all system-specific invariants, and false (`nil') if it broke +any of those invariants; it may issue warnings or errors before it +returns `nil'. (NB: The ability to pass such extra flags is only +available starting with ASDF 2.22.3.) This feature is notably +exercised by asdf-finalizers. + + By using a string, you may reference a function, symbol and/or +package that will only be created later during the build, but isn't yet +present at the time the defsystem form is evaluated. However, if your +entire system is using such a hook, you may have to explicitly override +the hook with `nil' for all the modules and files that are compiled +before the hook is defined. + + Using this hook, you may achieve such effects as: locally renaming +packages, binding *READTABLES* and other syntax-controlling variables, +handling warnings and other conditions, proclaiming consistent +optimization settings, saving code coverage information, maintaining +meta-data about compilation timings, setting gensym counters and PRNG +seeds and other sources of non-determinism, overriding the +source-location and/or timestamping systems, checking that some +compile-time side-effects were properly balanced, etc. + + Note that there is no around-load hook. This is on purpose. Some +implementations such as ECL, GCL or MKCL link object files, which +allows for no such hook. Other implementations allow for concatenating +FASL files, which doesn't allow for such a hook either. We aim to +discourage something that's not portable, and has some dubious impact +on performance and semantics even when it is possible. Things you +might want to do with an around-load hook are better done +around-compile, though it may at times require some creativity (see +e.g. the `package-renaming' system). + +10.2 Controlling source file character encoding +=============================================== + +Starting with ASDF 2.21, components accept a `:encoding' option so +authors may specify which character encoding should be used to read and +evaluate their source code. When left unspecified, the encoding is +inherited from the parent module or system; if no encoding is specified +at any point, the default `:autodetect' is assumed. By default, only +`:default', `:utf-8' and `:autodetect' are accepted. `:autodetect', +the default, calls `*encoding-detection-hook*' which by default always +returns `*default-encoding*' which itself defaults to `:default'. + + In other words, there now are plenty of extension hooks, but by +default ASDF follows the backwards compatible behavior of using +whichever `:default' encoding your implementation uses, which itself +may or may not vary based on environment variables and other locale +settings. In practice this means that only source code that only uses +ASCII is guaranteed to be read the same on all implementations +independently from any user setting. + + Additionally, for backward-compatibility with older versions of ASDF +and/or with implementations that do not support unicode and its many +encodings, you may want to use the reader conditionals `#+asdf-unicode +#+asdf-unicode' to protect any `:encoding _encoding_' statement as +`:asdf-unicode' will be present in `*features*' only if you're using a +recent ASDF on an implementation that supports unicode. We recommend +that you avoid using unprotected `:encoding' specifications until after +ASDF 2.21 or later becomes widespread, hopefully by the end of 2012. + + While it offers plenty of hooks for extension, and one such +extension is being developed (see below), ASDF itself only recognizes +one encoding beside `:default', and that is `:utf-8', which is the _de +facto_ standard, already used by the vast majority of libraries that +use more than ASCII. On implementations that do not support unicode, +the feature `:asdf-unicode' is absent, and the `:default' +external-format is used to read even source files declared as `:utf-8'. +On these implementations, non-ASCII characters intended to be read as +one CL character may thus end up being read as multiple CL characters. +In most cases, this shouldn't affect the software's semantics: comments +will be skipped just the same, strings with be read and printed with +slightly different lengths, symbol names will be accordingly longer, +but none of it should matter. But a few systems that actually depend +on unicode characters may fail to work properly, or may work in a +subtly different way. See for instance `lambda-reader'. + + We invite you to embrace UTF-8 as the encoding for non-ASCII +characters starting today, even without any explicit specification in +your `.asd' files. Indeed, on some implementations and configurations, +UTF-8 is already the `:default', and loading your code may cause errors +if it is encoded in anything but UTF-8. Therefore, even with the +legacy behavior, non-UTF-8 is guaranteed to break for some users, +whereas UTF-8 is pretty much guaranteed not to break anywhere (provided +you do _not_ use a BOM), although it might be read incorrectly on some +implementations. In the future, we intend to make `:utf-8' the default +value of `*default-encoding*', to be enforced everywhere, so at least +the code is guaranteed to be read correctly everywhere it can be. + + If you need non-standard character encodings for your source code, +use the extension system `asdf-encodings', by specifying +`:defsystem-depends-on (:asdf-encodings)' in your `defsystem'. This +extension system will register support for more encodings using the +`*encoding-external-format-hook*' facility, so you can explicitly +specify `:encoding :latin1' in your `.asd' file. Using the +`*encoding-detection-hook*' it will also eventually implement some +autodetection of a file's encoding from an emacs-style `-*- mode: lisp +; coding: latin1 -*-' declaration, or otherwise based on an analysis of +octet patterns in the file. At this point, asdf-encoding only supports +the encodings that are supported as part of your implementation. Since +the list varies depending on implementations, we once again recommend +you use `:utf-8' everywhere, which is the most portable (next is +`:latin1'). + + If you're not using a version of Quicklisp that has it, you may get +the source for `asdf-encodings' using git: `git clone +git://common-lisp.net/projects/asdf/asdf-encodings.git' or `git clone +ssh://common-lisp.net/project/asdf/git/asdf-encodings.git'. You can +also browse the repository on +`http://common-lisp.net/gitweb?p=projects/asdf/asdf-encodings.git'. + + In the future, we intend to change the default `*default-encoding*' +to `:utf-8', which is already the de facto standard for most libraries +that use non-ASCII characters: utf-8 works everywhere and was +backhandedly enforced by a lot of people using SBCL and utf-8 and +sending reports to authors so they make their packages compatible. A +survey showed only about a handful few libraries are incompatible with +non-UTF-8, and then, only in comments, and we believe that authors will +adopt UTF-8 when prompted. See the April 2012 discussion on the +asdf-devel mailing-list. For backwards compatibility with users who +insist on a non-UTF-8 encoding, but cannot immediately transition to +using `asdf-encodings' (maybe because it isn't ready), it will still be +possible to use the `:encoding :default' option in your `defsystem' form +to restore the behavior of ASDF 2.20 and earlier. This shouldn't be +required in libraries, because user pressure as mentioned above will +already have pushed library authors towards using UTF-8; but authors of +end-user programs might care. + + When you use `asdf-encodings', any further loaded `.asd' file will +use the autodetection algorithm to determine its encoding; yet if you +depend on this detection happening, you may want to explicitly load +`asdf-encodings' early in your build, for by the time you can use +`:defsystem-depends-on', it is already too late to load it. In +practice, this means that the `*default-encoding*' is usually used for +`.asd' files. Currently, this defaults to `:default' for backwards +compatibility, and that means that you shouldn't rely on non-ASCII +characters in a .asd file. Since component (path)names are the only +real data in these files, and non-ASCII characters are not very +portable for file names, this isn't too much of an issue. We still +encourage you to use either plain ASCII or UTF-8 in `.asd' files, as we +intend to make `:utf-8' the default encoding in the future. This might +matter, for instance, in meta-data about author's names. + +10.3 Miscellaneous Functions +============================ + +These functions are exported by ASDF for your convenience. + + -- Function: system-relative-pathname system name &key type + It's often handy to locate a file relative to some system. The + `system-relative-pathname' function meets this need. + + It takes two mandatory arguments SYSTEM and NAME and a keyword + argument TYPE: SYSTEM is name of a system, whereas NAME and + optionally TYPE specify a relative pathname, interpreted like a + component pathname specifier by `coerce-pathname'. *Note Pathname + specifiers: The defsystem grammar. + + It returns a pathname built from the location of the system's + source directory and the relative pathname. For example: + + > (asdf:system-relative-pathname 'cl-ppcre "regex.data") + #P"/repository/other/cl-ppcre/regex.data" + + + -- Function: system-source-directory system-designator + ASDF does not provide a turnkey solution for locating data (or + other miscellaneous) files that are distributed together with the + source code of a system. Programmers can use + `system-source-directory' to find such files. Returns a pathname + object. The SYSTEM-DESIGNATOR may be a string, symbol, or ASDF + system object. + + -- Function: clear-system system-designator + It is sometimes useful to force recompilation of a previously + loaded system. In these cases, it may be useful to + `(asdf:clear-system :foo)' to remove the system from the table of + currently loaded systems; the next time the system `foo' or one + that depends on it is re-loaded, `foo' will then be loaded again. + Alternatively, you could touch `foo.asd' or remove the + corresponding fasls from the output file cache. (It was once + conceived that one should provide a list of systems the + recompilation of which to force as the `:force' keyword argument + to `load-system'; but this has never worked, and though the + feature was fixed in ASDF 2.000, it remains `cerror''ed out as + nobody ever used it.) + + Note that this does not and cannot by itself undo the previous + loading of the system. Common Lisp has no provision for such an + operation, and its reliance on irreversible side-effects to global + datastructures makes such a thing impossible in the general case. + If the software being re-loaded is not conceived with hot upgrade + in mind, this re-loading may cause many errors, warnings or subtle + silent problems, as packages, generic function signatures, + structures, types, macros, constants, etc. are being redefined + incompatibly. It is up to the user to make sure that reloading is + possible and has the desired effect. In some cases, extreme + measures such as recursively deleting packages, unregistering + symbols, defining methods on `update-instance-for-redefined-class' + and much more are necessary for reloading to happen smoothly. + ASDF itself goes through notable pains to make such a hot upgrade + possible with respect to its own code, and what it does is + ridiculously complex; look at the beginning of `asdf.lisp' to see + what it does. + + -- Function: register-preloaded-system name &rest keys + A system with name NAME, created by `make-instance' with extra + keys KEYS (e.g. `:version'), is registered as _preloaded_. That + is, its code has already been loaded into the current image, and + if at some point some other system `:depends-on' it yet no source + code is found, it is considered as already provided, and ASDF will + not raise a `missing-component' error. + + This function is particularly useful if you distribute your code + as fasls with either `fasl-op' or `monolithic-fasl-op', and want + to register systems so that dependencies will work uniformly + whether you're using your software from source or from fasl. + + -- Function: run-shell-command control-string &rest args + This function is obsolete and present only for the sake of + backwards-compatibility: "If it's not backwards, it's not + compatible". We _strongly_ discourage its use. Its current + behavior is only well-defined on Unix platforms (which include + MacOS X and cygwin). On Windows, anything goes. The following + documentation is only for the purpose of your migrating away from + it in a way that preserves semantics. + + Instead we recommend the use `run-program', described in the next + section, and available as part of ASDF since ASDF 3. + + `run-shell-command' takes as arguments a format `control-string' + and arguments to be passed to `format' after this control-string + to produce a string. This string is a command that will be + evaluated with a POSIX shell if possible; yet, on Windows, some + implementations will use CMD.EXE, while others (like SBCL) will + make an attempt at invoking a POSIX shell (and fail if it is not + present). + +10.4 Some Utility Functions +=========================== + +The below functions are not exported by ASDF itself, but by UIOP, +available since ASDF 3. Some of them have precursors in ASDF 2, but we +recommend you rely on ASDF 3 for active developments. UIOP provides +many, many more utility functions, and we recommend you read its README +and sources for more information. + + -- Function: parse-unix-namestring name &key type defaults dot-dot + ensure-directory &allow-other-keys + Coerce NAME into a PATHNAME using standard Unix syntax. + + Unix syntax is used whether or not the underlying system is Unix; + on such non-Unix systems it is only usable but for relative + pathnames; but especially to manipulate relative pathnames + portably, it is of crucial to possess a portable pathname syntax + independent of the underlying OS. This is what + `parse-unix-namestring' provides, and why we use it in ASDF. + + When given a `pathname' object, just return it untouched. When + given `nil', just return `nil'. When given a non-null `symbol', + first downcase its name and treat it as a string. When given a + `string', portably decompose it into a pathname as below. + + `#\/' separates directory components. + + The last `#\/'-separated substring is interpreted as follows: 1- + If TYPE is `:directory' or ENSURE-DIRECTORY is true, the string + is made the last directory component, and its `name' and `type' + are `nil'. if the string is empty, it's the empty pathname with + all slots `nil'. 2- If TYPE is `nil', the substring is a + file-namestring, and its `name' and `type' are separated by + `split-name-type'. 3- If TYPE is a string, it is the given + `type', and the whole string is the `name'. + + Directory components with an empty name the name `.' are removed. + Any directory named `..' is read as DOT-DOT, which must be one of + `:back' or `:up' and defaults to `:back'. + + `host', `device' and `version' components are taken from DEFAULTS, + which itself defaults to `*nil-pathname*', also used if DEFAULTS + is `nil'. No host or device can be specified in the string itself, + which makes it unsuitable for absolute pathnames outside Unix. + + For relative pathnames, these components (and hence the defaults) + won't matter if you use `merge-pathnames*' but will matter if you + use `merge-pathnames', which is an important reason to always use + `merge-pathnames*'. + + Arbitrary keys are accepted, and the parse result is passed to + `ensure-pathname' with those keys, removing TYPE, DEFAULTS and + DOT-DOT. When you're manipulating pathnames that are supposed to + make sense portably even though the OS may not be Unixish, we + recommend you use `:want-relative t' to throw an error if the + pathname is absolute + + -- Function: merge-pathnames* specified &optional defaults + This function is a replacement for `merge-pathnames' that uses the + host and device from the DEFAULTS rather than the SPECIFIED + pathname when the latter is a relative pathname. This allows ASDF + and its users to create and use relative pathnames without having + to know beforehand what are the host and device of the absolute + pathnames they are relative to. + + + -- Function: subpathname pathname subpath &key type + This function takes a PATHNAME and a SUBPATH and a TYPE. If + SUBPATH is already a `pathname' object (not namestring), and is an + absolute pathname at that, it is returned unchanged; otherwise, + SUBPATH is turned into a relative pathname with given TYPE as per + `parse-unix-namestring' with `:want-relative t :type 'TYPE, then + it is merged with the `pathname-directory-pathname' of PATHNAME, + as per `merge-pathnames*'. + + We strongly encourage the use of this function for portably + resolving relative pathnames in your code base. + + -- Function: subpathname* pathname subpath &key type + This function returns `nil' if the base PATHNAME is `nil', + otherwise acts like `subpathname'. + + -- Function: run-program command &key ignore-error-status force-shell + input output error-output + if-input-does-not-exist if-output-exists if-error-output-exists + element-type external-format &allow-other-keys + + `run-program' takes a COMMAND argument that is either a list of a + program name or path and its arguments, or a string to be executed + by a shell. It spawns the command, waits for it to return, + verifies that it exited cleanly (unless told not too below), and + optionally captures and processes its output. It accepts many + keyword arguments to configure its behavior. + + `run-program' returns three values: the first for the output, the + second for the error-output, and the third for the return value. + (Beware that before ASDF 3.0.2.11, it didn't handle input or + error-output, and returned only one value, the one for the output + if any handler was specified, or else the exit code; please + upgrade ASDF, or at least UIOP, to rely on the new enhanced + behavior.) + + OUTPUT is its most important argument; it specifies how the output + is captured and processed. If it is `nil', then the output is + redirected to the null device, that will discard it. If it is + `:interactive', then it is inherited from the current process + (beware: this may be different from your *STANDARD-OUTPUT*, and + under SLIME will be on your `*inferior-lisp*' buffer). If it is + `t', output goes to your current *STANDARD-OUTPUT* stream. + Otherwise, OUTPUT should be a value that is a suitable first + argument to `slurp-input-stream' (see below), or a list of such a + value and keyword arguments. In this case, `run-program' will + create a temporary stream for the program output; the program + output, in that stream, will be processed by a call to + `slurp-input-stream', using OUTPUT as the first argument (or if + it's a list the first element of OUTPUT and the rest as keywords). + The primary value resulting from that call (or `nil' if no call + was needed) will be the first value returned by `run-program'. + E.g., using `:output :string' will have it return the entire + output stream as a string. And using `:output '(:string :stripped + t)' will have it return the same string stripped of any ending + newline. + + ERROR-OUTPUT is similar to OUTPUT, except that the resulting value + is returned as the second value of `run-program'. `t' designates + the *ERROR-OUTPUT*. Also `:output' means redirecting the error + output to the output stream, in which case `nil' is returned. + + INPUT is similar to OUTPUT, except that `vomit-output-stream' is + used, no value is returned, and `t' designates the + *STANDARD-INPUT*. + + `element-type' and `external-format' are passed on to your Lisp + implementation, when applicable, for creation of the output stream. + + One and only one of the stream slurping or vomiting may or may not + happen in parallel in parallel with the subprocess, depending on + options and implementation, and with priority being given to + output processing. Other streams are completely produced or + consumed before or after the subprocess is spawned, using + temporary files. + + `force-shell' forces evaluation of the command through a shell, + even if it was passed as a list rather than a string. If a shell + is used, it is `/bin/sh' on Unix or `CMD.EXE' on Windows, except + on implementations that (erroneously, IMNSHO) insist on consulting + `$SHELL' like clisp. + + `ignore-error-status' causes `run-program' to not raise an error + if the spawned program exits in error. Following POSIX + convention, an error is anything but a normal exit with status + code zero. By default, an error of type `subprocess-error' is + raised in this case. + + `run-program' works on all platforms supported by ASDF, except + Genera. See the source code for more documentation. + + + -- Function: slurp-input-stream processor input-stream &key + It's a generic function of two arguments, a target object and an + input stream, and accepting keyword arguments. Predefined methods + based on the target object are as follow: + + If the object is a function, the function is called with the + stream as argument. + + If the object is a cons, its first element is applied to its rest + appended by a list of the input stream. + + If the object is an output stream, the contents of the input + stream are copied to it. If the LINEWISE keyword argument is + provided, copying happens line by line, and an optional PREFIX is + printed before each line. Otherwise, copying happen based on a + buffer of size BUFFER-SIZE, using the specified ELEMENT-TYPE. + + If the object is `'string' or `:string', the content is captured + into a string. Accepted keywords include the ELEMENT-TYPE and a + flag STRIPPED, which when true causes any single line ending to be + removed as per `uiop:stripln'. + + If the object is `:lines', the content is captured as a list of + strings, one per line, without line ending. If the COUNT keyword + argument is provided, it is a maximum count of lines to be read. + + If the object is `:line', the content is capture as with `:lines' + above, and then its sub-object is extracted with the AT argument, + which defaults to `0', extracting the first line. A number will + extract the corresponding line. See the documentation for + `uiop:access-at'. + + If the object is `:forms', the content is captured as a list of + S-expressions, as read by the Lisp reader. If the COUNT argument + is provided, it is a maximum count of lines to be read. We + recommend you control the syntax with such macro as + `uiop:with-safe-io-syntax'. + + If the object is `:form', the content is capture as with `:forms' + above, and then its sub-object is extracted with the AT argument, + which defaults to `0', extracting the first form. A number will + extract the corresponding form. See the documentation for + `uiop:access-at'. We recommend you control the syntax with such + macro as `uiop:with-safe-io-syntax'. + + + +File: asdf.info, Node: Getting the latest version, Next: FAQ, Prev: Miscellaneous additional functionality, Up: Top + +11 Getting the latest version +***************************** + +Decide which version you want. The `master' branch is where +development happens; its `HEAD' is usually OK, including the latest +fixes and portability tweaks, but an occasional regression may happen +despite our (limited) test suite. + + The `release' branch is what cautious people should be using; it has +usually been tested more, and releases are cut at a point where there +isn't any known unresolved issue. + + You may get the ASDF source repository using git: `git clone +git://common-lisp.net/projects/asdf/asdf.git' + + You will find the above referenced tags in this repository. You can +also browse the repository on +`http://common-lisp.net/gitweb?p=projects/asdf/asdf.git'. + + Discussion of ASDF development is conducted on the mailing list +`asdf-devel@common-lisp.net'. +`http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel' + + +File: asdf.info, Node: FAQ, Next: TODO list, Prev: Getting the latest version, Up: Top + +12 FAQ +****** + +12.1 "Where do I report a bug?" +=============================== + +ASDF bugs are tracked on launchpad: `https://launchpad.net/asdf'. + + If you're unsure about whether something is a bug, or for general +discussion, use the asdf-devel mailing list +(http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel) + +12.2 "What has changed between ASDF 1 and ASDF 2?" +================================================== + +12.2.1 What are ASDF 1 and ASDF 2? +---------------------------------- + +On May 31st 2010, we have released ASDF 2. ASDF 2 refers to release +2.000 and later. (Releases between 1.656 and 1.728 were development +releases for ASDF 2.) ASDF 1 to any release earlier than 1.369 or so. +If your ASDF doesn't sport a version, it's an old ASDF 1. + + ASDF 2 and its release candidates push `:asdf2' onto `*features*' so +that if you are writing ASDF-dependent code you may check for this +feature to see if the new API is present. _All_ versions of ASDF +should have the `:asdf' feature. + + Additionally, all versions of ASDF 2 define a function +`(asdf:asdf-version)' you may use to query the version; and the source +code of recent versions of ASDF 2 features the version number +prominently on the second line of its source code. + + If you are experiencing problems or limitations of any sort with +ASDF 1, we recommend that you should upgrade to ASDF 2, or whatever is +the latest release. + +12.2.2 ASDF can portably name files in subdirectories +----------------------------------------------------- + +Common Lisp namestrings are not portable, except maybe for logical +pathnamestrings, that themselves have various limitations and require a +lot of setup that is itself ultimately non-portable. + + In ASDF 1, the only portable ways to refer to pathnames inside +systems and components were very awkward, using `#.(make-pathname ...)' +and `#.(merge-pathnames ...)'. Even the above were themselves were +inadequate in the general case due to host and device issues, unless +horribly complex patterns were used. Plenty of simple cases that +looked portable actually weren't, leading to much confusion and +greavance. + + ASDF 2 implements its own portable syntax for strings as pathname +specifiers. Naming files within a system definition becomes easy and +portable again. *Note asdf:system-relative-pathname: Miscellaneous +additional functionality, `merge-pathnames*', `coerce-pathname'. + + On the other hand, there are places where systems used to accept +namestrings where you must now use an explicit pathname object: +`(defsystem ... :pathname "LOGICAL-HOST:PATH;TO;SYSTEM;" ...)' must now +be written with the `#p' syntax: `(defsystem ... :pathname +#p"LOGICAL-HOST:PATH;TO;SYSTEM;" ...)' + + *Note Pathname specifiers: The defsystem grammar. + +12.2.3 Output translations +-------------------------- + +A popular feature added to ASDF was output pathname translation: +`asdf-binary-locations', `common-lisp-controller', `cl-launch' and +other hacks were all implementing it in ways both mutually incompatible +and difficult to configure. + + Output pathname translation is essential to share source directories +of portable systems across multiple implementations or variants thereof, +or source directories of shared installations of systems across +multiple users, or combinations of the above. + + In ASDF 2, a standard mechanism is provided for that, +`asdf-output-translations', with sensible defaults, adequate +configuration languages, a coherent set of configuration files and +hooks, and support for non-Unix platforms. + + *Note Controlling where ASDF saves compiled files::. + +12.2.4 Source Registry Configuration +------------------------------------ + +Configuring ASDF used to require special magic to be applied just at +the right moment, between the moment ASDF is loaded and the moment it +is used, in a way that is specific to the user, the implementation he +is using and the application he is building. + + This made for awkward configuration files and startup scripts that +could not be shared between users, managed by administrators or +packaged by distributions. + + ASDF 2 provides a well-documented way to configure ASDF, with +sensible defaults, adequate configuration languages, and a coherent set +of configuration files and hooks. + + We believe it's a vast improvement because it decouples application +distribution from library distribution. The application writer can +avoid thinking where the libraries are, and the library distributor +(dpkg, clbuild, advanced user, etc.) can configure them once and for +every application. Yet settings can be easily overridden where needed, +so whoever needs control has exactly as much as required. + + At the same time, ASDF 2 remains compatible with the old magic you +may have in your build scripts (using `*central-registry*' and +`*system-definition-search-functions*') to tailor the ASDF +configuration to your build automation needs, and also allows for new +magic, simpler and more powerful magic. + + *Note Controlling where ASDF searches for systems::. + +12.2.5 Usual operations are made easier to the user +--------------------------------------------------- + +In ASDF 1, you had to use the awkward syntax `(asdf:oos 'asdf:load-op +:foo)' to load a system, and similarly for `compile-op', `test-op'. + + In ASDF 2, you can use shortcuts for the usual operations: +`(asdf:load-system :foo)', and similarly for `compile-system', +`test-system'. + +12.2.6 Many bugs have been fixed +-------------------------------- + +The following issues and many others have been fixed: + + * The infamous TRAVERSE function has been revamped completely + between ASDF 1 and ASDF 2, with many bugs squashed. In + particular, dependencies were not correctly propagated across + modules but now are. It has been completely rewritten many times + over between ASDF 2.000 and ASDF 3, with fundamental issues in the + original model being fixed. Timestamps were not propagated at + all, and now are. The internal model of how actions depend on + each other is now both consistent and complete. The :version and + the :force (system1 .. systemN) feature have been fixed. + + * Performance has been notably improved for large systems (say with + thousands of components) by using hash-tables instead of linear + search, and linear-time list accumulation instead of + quadratic-time recursive appends. + + * Many features used to not be portable, especially where pathnames + were involved. Windows support was notably quirky because of such + non-portability. + + * The internal test suite used to massively fail on many + implementations. While still incomplete, it now fully passes on + all implementations supported by the test suite, except for GCL + (due to GCL bugs). + + * Support was lacking for some implementations. ABCL and GCL were + notably wholly broken. ECL extensions were not integrated with + ASDF release. + + * The documentation was grossly out of date. + + +12.2.7 ASDF itself is versioned +------------------------------- + +Between new features, old bugs fixed, and new bugs introduced, there +were various releases of ASDF in the wild, and no simple way to check +which release had which feature set. People using or writing systems +had to either make worst-case assumptions as to what features were +available and worked, or take great pains to have the correct version +of ASDF installed. + + With ASDF 2, we provide a new stable set of working features that +everyone can rely on from now on. Use `#+asdf2' to detect presence of +ASDF 2, `(asdf:version-satisfies (asdf:asdf-version) "2.345.67")' to +check the availability of a version no earlier than required. + +12.2.8 ASDF can be upgraded +--------------------------- + +When an old version of ASDF was loaded, it was very hard to upgrade +ASDF in your current image without breaking everything. Instead you +had to exit the Lisp process and somehow arrange to start a new one +from a simpler image. Something that can't be done from within Lisp, +making automation of it difficult, which compounded with difficulty in +configuration, made the task quite hard. Yet as we saw before, the +task would have been required to not have to live with the worst case +or non-portable subset of ASDF features. + + With ASDF 2, it is easy to upgrade from ASDF 2 to later versions +from within Lisp, and not too hard to upgrade from ASDF 1 to ASDF 2 +from within Lisp. We support hot upgrade of ASDF and any breakage is a +bug that we will do our best to fix. There are still limitations on +upgrade, though, most notably the fact that after you upgrade ASDF, you +must also reload or upgrade all ASDF extensions. + +12.2.9 Decoupled release cycle +------------------------------ + +When vendors were releasing their Lisp implementations with ASDF, they +had to basically never change version because neither upgrade nor +downgrade was possible without breaking something for someone, and no +obvious upgrade path was visible and recommendable. + + With ASDF 2, upgrade is possible, easy and can be recommended. This +means that vendors can safely ship a recent version of ASDF, confident +that if a user isn't fully satisfied, he can easily upgrade ASDF and +deal with a supported recent version of it. This means that release +cycles will be causally decoupled, the practical consequence of which +will mean faster convergence towards the latest version for everyone. + +12.2.10 Pitfalls of the transition to ASDF 2 +-------------------------------------------- + +The main pitfalls in upgrading to ASDF 2 seem to be related to the +output translation mechanism. + + * Output translations is enabled by default. This may surprise some + users, most of them in pleasant way (we hope), a few of them in an + unpleasant way. It is trivial to disable output translations. + *Note "How can I wholly disable the compiler output cache?": FAQ. + + * Some systems in the large have been known not to play well with + output translations. They were relatively easy to fix. Once + again, it is also easy to disable output translations, or to + override its configuration. + + * The new ASDF output translations are incompatible with + ASDF-Binary-Locations. They replace A-B-L, and there is + compatibility mode to emulate your previous A-B-L configuration. + See `enable-asdf-binary-locations-compatibility' in *note Backward + Compatibility: Controlling where ASDF saves compiled files. But + thou shalt not load ABL on top of ASDF 2. + + + Other issues include the following: + + * ASDF pathname designators are now specified in places where they + were unspecified, and a few small adjustments have to be made to + some non-portable defsystems. Notably, in the `:pathname' argument + to a `defsystem' and its components, a logical pathname (or + implementation-dependent hierarchical pathname) must now be + specified with `#p' syntax where the namestring might have + previously sufficed; moreover when evaluation is desired `#.' must + be used, where it wasn't necessary in the toplevel `:pathname' + argument (but necessary in other `:pathname' arguments). + + * There is a slight performance bug, notably on SBCL, when initially + searching for `asd' files, the implicit `(directory + "/configured/path/**/*.asd")' for every configured path `(:tree + "/configured/path/")' in your `source-registry' configuration can + cause a slight pause. Try to `(time + (asdf:initialize-source-registry))' to see how bad it is or isn't + on your system. If you insist on not having this pause, you can + avoid the pause by overriding the default source-registry + configuration and not use any deep `:tree' entry but only + `:directory' entries or shallow `:tree' entries. Or you can fix + your implementation to not be quite that slow when recursing + through directories. _Update_: This performance bug fixed the + hard way in 2.010. + + * On Windows, only LispWorks supports proper default configuration + pathnames based on the Windows registry. Other implementations + make do with environment variables, that you may have to define + yourself if you're using an older version of Windows. Windows + support is somewhat less tested than Unix support. Please help + report and fix bugs. _Update_: As of ASDF 2.21, all + implementations should now use the same proper default + configuration pathnames and they should actually work, though they + haven't all been tested. + + * The mechanism by which one customizes a system so that Lisp files + may use a different extension from the default `.lisp' has changed. + Previously, the pathname for a component was lazily computed when + operating on a system, and you would `(defmethod source-file-type + ((component cl-source-file) (system (eql (find-system 'foo)))) + (declare (ignorable component system)) "lis")'. Now, the pathname + for a component is eagerly computed when defining the system, and + instead you will `(defclass cl-source-file.lis (cl-source-file) + ((type :initform "lis")))' and use `:default-component-class + cl-source-file.lis' as argument to `defsystem', as detailed in a + *note How do I create a system definition where all the source + files have a .cl extension?: FAQ. below. + + +12.3 Issues with installing the proper version of ASDF +====================================================== + +12.3.1 "My Common Lisp implementation comes with an outdated version of ASDF. What to do?" +------------------------------------------------------------------------------------------ + +We recommend you upgrade ASDF. *Note Upgrading ASDF: Loading ASDF. + + If this does not work, it is a bug, and you should report it. *Note +report-bugs: FAQ. In the meantime, you can load `asdf.lisp' directly. +*Note Loading an otherwise installed ASDF: Loading ASDF. + +12.3.2 "I'm a Common Lisp implementation vendor. When and how should I upgrade ASDF?" +------------------------------------------------------------------------------------- + +Since ASDF 2, it should always be a good time to upgrade to a recent +version of ASDF. You may consult with the maintainer for which +specific version they recommend, but the latest `release' should be +correct. We trust you to thoroughly test it with your implementation +before you release it. If there are any issues with the current +release, it's a bug that you should report upstream and that we will +fix ASAP. + + As to how to include ASDF, we recommend the following: + + * If ASDF isn't loaded yet, then `(require "asdf")' should load the + version of ASDF that is bundled with your system. If possible so + should `(require "ASDF")'. You may have it load some other + version configured by the user, if you allow such configuration. + + * If your system provides a mechanism to hook into `CL:REQUIRE', + then it would be nice to add ASDF to this hook the same way that + ABCL, CCL, CLISP, CMUCL, ECL, SBCL and SCL do it. Please send us + appropriate code to this end. + + * You may, like SBCL, have ASDF be implicitly used to require systems + that are bundled with your Lisp distribution. If you do have a + few magic systems that come with your implementation in a + precompiled way such that one should only use the binary version + that goes with your distribution, like SBCL does, then you should + add them in the beginning of `wrapping-source-registry'. + + * If you have magic systems as above, like SBCL does, then we + explicitly ask you to _NOT_ distribute `asdf.asd' as part of those + magic systems. You should still include the file `asdf.lisp' in + your source distribution and precompile it in your binary + distribution, but `asdf.asd' if included at all, should be + secluded from the magic systems, in a separate file hierarchy. + Alternatively, you may provide the system after renaming it and + its `.asd' file to e.g. `asdf-ecl' and `asdf-ecl.asd', or + `sb-asdf' and `sb-asdf.asd'. Indeed, if you made `asdf.asd' a + magic system, then users would no longer be able to upgrade ASDF + using ASDF itself to some version of their preference that they + maintain independently from your Lisp distribution. + + * If you do not have any such magic systems, or have other non-magic + systems that you want to bundle with your implementation, then you + may add them to the `wrapping-source-registry', and you are + welcome to include `asdf.asd' amongst them. Non-magic systems + should be at the back of the `wrapping-source-registry' while + magic systems are at the front. + + * Please send us upstream any patches you make to ASDF itself, so we + can merge them back in for the benefit of your users when they + upgrade to the upstream version. + + +12.4 Issues with configuring ASDF +================================= + +12.4.1 "How can I customize where fasl files are stored?" +--------------------------------------------------------- + +*Note Controlling where ASDF saves compiled files::. + + Note that in the past there was an add-on to ASDF called +`ASDF-binary-locations', developed by Gary King. That add-on has been +merged into ASDF proper, then superseded by the +`asdf-output-translations' facility. + + Note that use of `asdf-output-translations' can interfere with one +aspect of your systems -- if your system uses `*load-truename*' to find +files (e.g., if you have some data files stored with your program), +then the relocation that this ASDF customization performs is likely to +interfere. Use `asdf:system-relative-pathname' to locate a file in the +source directory of some system, and use +`asdf:apply-output-translations' to locate a file whose pathname has +been translated by the facility. + +12.4.2 "How can I wholly disable the compiler output cache?" +------------------------------------------------------------ + +To permanently disable the compiler output cache for all future runs of +ASDF, you can: + + mkdir -p ~/.config/common-lisp/asdf-output-translations.conf.d/ + echo ':disable-cache' > ~/.config/common-lisp/asdf-output-translations.conf.d/99-disable-cache.conf + + This assumes that you didn't otherwise configure the ASDF files (if +you did, edit them again), and don't somehow override the configuration +at runtime with a shell variable (see below) or some other runtime +command (e.g. some call to `asdf:initialize-output-translations'). + + To disable the compiler output cache in Lisp processes run by your +current shell, try (assuming `bash' or `zsh') (on Unix and cygwin only): + + export ASDF_OUTPUT_TRANSLATIONS=/: + + To disable the compiler output cache just in the current Lisp +process, use (after loading ASDF but before using it): + + (asdf:disable-output-translations) + +12.5 Issues with using and extending ASDF to define systems +=========================================================== + +12.5.1 "How can I cater for unit-testing in my system?" +------------------------------------------------------- + +ASDF provides a predefined test operation, `test-op'. *Note test-op: +Predefined operations of ASDF. The test operation, however, is largely +left to the system definer to specify. `test-op' has been a topic of +considerable discussion on the asdf-devel mailing list +(http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel), and on the +launchpad bug-tracker (https://launchpad.net/asdf). + + Here are some guidelines: + + * For a given system, FOO, you will want to define a corresponding + test system, such as FOO-TEST. The reason that you will want this + separate system is that ASDF does not out of the box supply + components that are conditionally loaded. So if you want to have + source files (with the test definitions) that will not be loaded + except when testing, they should be put elsewhere. + + * The FOO-TEST system can be defined in an asd file of its own or + together with FOO. An aesthetic preference against cluttering up + the filesystem with extra asd files should be balanced against the + question of whether one might want to directly load FOO-TEST. + Typically one would not want to do this except in early stages of + debugging. + + * Record that testing is implemented by FOO-TEST. For example: + (defsystem FOO + :in-order-to ((test-op (test-op FOO-TEST))) + ....) + + (defsystem FOO-TEST + :depends-on (FOO MY-TEST-LIBRARY ...) + ....) + + This procedure will allow you to support users who do not wish to +install your test framework. + + One oddity of ASDF is that `operate' (*note operate: Operations.) +does not return a value. So in current versions of ASDF there is no +reliable programmatic means of determining whether or not a set of tests +has passed, or which tests have failed. The user must simply read the +console output. This limitation has been the subject of much +discussion. + +12.5.2 "How can I cater for documentation generation in my system?" +------------------------------------------------------------------- + +The ASDF developers are currently working to add a `doc-op' to the set +of predefined ASDF operations. *Note Predefined operations of ASDF::. +See also `https://bugs.launchpad.net/asdf/+bug/479470'. + +12.5.3 "How can I maintain non-Lisp (e.g. C) source files?" +----------------------------------------------------------- + +See `cffi''s `cffi-grovel'. + +12.5.4 "I want to put my module's files at the top level. How do I do this?" +----------------------------------------------------------------------------- + +By default, the files contained in an asdf module go in a subdirectory +with the same name as the module. However, this can be overridden by +adding a `:pathname ""' argument to the module description. For +example, here is how it could be done in the spatial-trees ASDF system +definition for ASDF 2: + + (asdf:defsystem :spatial-trees + :components + ((:module base + :pathname "" + :components + ((:file "package") + (:file "basedefs" :depends-on ("package")) + (:file "rectangles" :depends-on ("package")))) + (:module tree-impls + :depends-on (base) + :pathname "" + :components + ((:file "r-trees") + (:file "greene-trees" :depends-on ("r-trees")) + (:file "rstar-trees" :depends-on ("r-trees")) + (:file "rplus-trees" :depends-on ("r-trees")) + (:file "x-trees" :depends-on ("r-trees" "rstar-trees")))) + (:module viz + :depends-on (base) + :pathname "" + :components + ((:static-file "spatial-tree-viz.lisp"))) + (:module tests + :depends-on (base) + :pathname "" + :components + ((:static-file "spatial-tree-test.lisp"))) + (:static-file "LICENCE") + (:static-file "TODO"))) + + All of the files in the `tree-impls' module are at the top level, +instead of in a `tree-impls/' subdirectory. + + Note that the argument to `:pathname' can be either a pathname +object or a string. A pathname object can be constructed with the +`#p"foo/bar/"' syntax, but this is discouraged because the results of +parsing a namestring are not portable. A pathname can only be portably +constructed with such syntax as `#.(make-pathname :directory +'(:relative "foo" "bar"))', and similarly the current directory can +only be portably specified as `#.(make-pathname :directory +'(:relative))'. However, as of ASDF 2, you can portably use a string +to denote a pathname. The string will be parsed as a `/'-separated +path from the current directory, such that the empty string `""' +denotes the current directory, and `"foo/bar"' (no trailing `/' +required in the case of modules) portably denotes the same subdirectory +as above. When files are specified, the last `/'-separated component +is interpreted either as the name component of a pathname (if the +component class specifies a pathname type), or as a name component plus +optional dot-separated type component (if the component class doesn't +specifies a pathname type). + +12.5.5 How do I create a system definition where all the source files have a .cl extension? +------------------------------------------------------------------------------------------- + +Starting with ASDF 2.014.14, you may just pass the builtin class +`cl-source-file.cl' as the `:default-component-class' argument to +`defsystem': + + (defsystem my-cl-system + :default-component-class cl-source-file.cl + ...) + + Another builtin class `cl-source-file.lsp' is offered for files +ending in `.lsp'. + + If you want to use a different extension for which ASDF doesn't +provide builtin support, or want to support versions of ASDF earlier +than 2.014.14 (but later than 2.000), you can define a class as follows: + + ;; Prologue: make sure we're using a sane package. + (defpackage :my-asdf-extension + (:use :asdf :common-lisp) + (:export #:cl-source-file.lis)) + (in-package :my-asdf-extension) + + (defclass cl-source-file.lis (cl-source-file) + ((type :initform "lis"))) + + Then you can use it as follows: + (defsystem my-cl-system + :default-component-class my-asdf-extension:cl-source-file.lis + ...) + + Of course, if you're in the same package, e.g. in the same file, you +won't need to use the package qualifier before `cl-source-file.lis'. +Actually, if all you're doing is defining this class and using it in +the same file without other fancy definitions, you might skip package +complications: + + (in-package :asdf) + (defclass cl-source-file.lis (cl-source-file) + ((type :initform "lis"))) + (defsystem my-cl-system + :default-component-class cl-source-file.lis + ...) + + It is possible to achieve the same effect in a way that supports +both ASDF 1 and ASDF 2, but really, friends don't let friends use ASDF +1. Please upgrade to ASDF 3. In short, though: do same as above, but +_before_ you use the class in a `defsystem', you also define the +following method: + + (defmethod source-file-type ((f cl-source-file.lis) (s system)) + (declare (ignorable f s)) + "lis") + + +File: asdf.info, Node: TODO list, Next: Inspiration, Prev: FAQ, Up: Top + +13 TODO list +************ + +Here is an old list of things to do, in addition to the bugs that are +now tracked on launchpad: `https://launchpad.net/asdf'. + +13.1 Outstanding spec questions, things to add +============================================== + +** packaging systems + + *** manual page component? + + ** style guide for .asd files + + You should either use keywords or be careful with the package that +you evaluate defsystem forms in. Otherwise `(defsystem partition ...)' +being read in the `cl-user' package will intern a `cl-user:partition' +symbol, which will then collide with the `partition:partition' symbol. + + Actually there's a hairier packages problem to think about too. +`in-order-to' is not a keyword: if you read `defsystem' forms in a +package that doesn't use ASDF, odd things might happen. + + ** extending defsystem with new options + + You might not want to write a whole parser, but just to add options +to the existing syntax. Reinstate `parse-option' or something akin. + + ** Diagnostics + + A "dry run" of an operation can be made with the following form: + + (let ((asdf::*verbose-out* *standard-output*)) + (loop :for (op . comp) :in + (asdf::traverse (make-instance '<operation-name> :force t) + (asdf:find-system <system-name>)) + :do (asdf:explain op comp))) + + This uses unexported symbols. What would be a nice interface for +this functionality? + +13.2 Missing bits in implementation +=================================== + +** reuse the same scratch package whenever a system is reloaded from +disk + + Have a package ASDF-USER instead of all these temporary packages? + + ** proclamations probably aren't + + ** A revert function + + Other possible interface: have a "revert" function akin to `make +clean'. + + (asdf:revert 'asdf:compile-op 'araneida) + + would delete any files produced by `(compile-system :araneida)'. Of +course, it wouldn't be able to do much about stuff in the image itself. + + How would this work? + + `traverse' + + There's a difference between a module's dependencies (peers) and its +components (children). Perhaps there's a similar difference in +operations? For example, `(load "use") depends-on (load "macros")' is +a peer, whereas `(load "use") depends-on (compile "use")' is more of a +"subservient" relationship. + + +File: asdf.info, Node: Inspiration, Next: Concept Index, Prev: TODO list, Up: Top + +14 Inspiration +************** + +14.1 mk-defsystem (defsystem-3.x) +================================= + +We aim to solve basically the same problems as `mk-defsystem' does. +However, our architecture for extensibility better exploits CL language +features (and is documented), and we intend to be portable rather than +just widely-ported. No slight on the `mk-defsystem' authors and +maintainers is intended here; that implementation has the unenviable +task of supporting pre-ANSI implementations, which is no longer +necessary. + + The surface defsystem syntax of asdf is more-or-less compatible with +`mk-defsystem', except that we do not support the `source-foo' and +`binary-foo' prefixes for separating source and binary files, and we +advise the removal of all options to specify pathnames. + + The `mk-defsystem' code for topologically sorting a module's +dependency list was very useful. + +14.2 defsystem-4 proposal +========================= + +Marco and Peter's proposal for defsystem 4 served as the driver for +many of the features in here. Notable differences are: + + * We don't specify output files or output file extensions as part of + the system. + + If you want to find out what files an operation would create, ask + the operation. + + * We don't deal with CL packages + + If you want to compile in a particular package, use an + `in-package' form in that file (ilisp / SLIME will like you more + if you do this anyway) + + * There is no proposal here that `defsystem' does version control. + + A system has a given version which can be used to check + dependencies, but that's all. + + The defsystem 4 proposal tends to look more at the external features, +whereas this one centres on a protocol for system introspection. + +14.3 kmp's "The Description of Large Systems", MIT AI Memo 801 +============================================================== + +Available in updated-for-CL form on the web at +`http://nhplace.com/kent/Papers/Large-Systems.html' + + In our implementation we borrow kmp's overall `PROCESS-OPTIONS' and +concept to deal with creating component trees from `defsystem' surface +syntax. [ this is not true right now, though it used to be and +probably will be again soon ] + + +File: asdf.info, Node: Concept Index, Next: Function and Class Index, Prev: Inspiration, Up: Top + +Concept Index +************* + +�[index�] +* Menu: + +* :around-compile: Miscellaneous additional functionality. + (line 12) +* :asdf: Introduction. (line 6) +* :asdf2: Introduction. (line 6) +* :asdf3: Introduction. (line 6) +* :compile-check: Miscellaneous additional functionality. + (line 12) +* :defsystem-depends-on: The defsystem grammar. + (line 106) +* :version <1>: The defsystem grammar. + (line 214) +* :version <2>: Common attributes of components. + (line 22) +* :version: The defsystem form. (line 76) +* :weakly-depends-on: The defsystem grammar. + (line 114) +* around-compile keyword: Miscellaneous additional functionality. + (line 12) +* ASDF versions: Introduction. (line 6) +* ASDF-BINARY-LOCATIONS compatibility: Controlling where ASDF saves compiled files. + (line 81) +* asdf-output-translations: Controlling where ASDF saves compiled files. + (line 6) +* ASDF-related features: Introduction. (line 6) +* compile-check keyword: Miscellaneous additional functionality. + (line 12) +* component: Components. (line 6) +* component designator: Components. (line 6) +* link farm: Loading ASDF. (line 6) +* logical pathnames: The defsystem grammar. + (line 233) +* operation: Operations. (line 6) +* pathname specifiers: The defsystem grammar. + (line 143) +* serial dependencies: The defsystem grammar. + (line 279) +* system: Components. (line 6) +* system designator: Components. (line 6) +* system directory designator: Loading ASDF. (line 6) +* Testing for ASDF: Introduction. (line 6) +* version specifiers: The defsystem grammar. + (line 214) + + +File: asdf.info, Node: Function and Class Index, Next: Variable Index, Prev: Concept Index, Up: Top + +Function and Class Index +************************ + +�[index�] +* Menu: + +* already-loaded-systems: Using ASDF. (line 80) +* apply-output-translations: Controlling where ASDF saves compiled files. + (line 356) +* clear-configuration: Using ASDF. (line 11) +* clear-output-translations <1>: Configuring ASDF. (line 114) +* clear-output-translations: Controlling where ASDF saves compiled files. + (line 341) +* clear-source-registry: Controlling where ASDF searches for systems. + (line 372) +* clear-system: Miscellaneous additional functionality. + (line 207) +* compile-file*: Miscellaneous additional functionality. + (line 12) +* compile-op: Predefined operations of ASDF. + (line 12) +* compile-system: Loading ASDF. (line 6) +* concatenate-source-op: Predefined operations of ASDF. + (line 167) +* disable-output-translations: Controlling where ASDF saves compiled files. + (line 336) +* enable-asdf-binary-locations-compatibility: Controlling where ASDF saves compiled files. + (line 107) +* ensure-output-translations: Controlling where ASDF saves compiled files. + (line 351) +* ensure-source-registry: Controlling where ASDF searches for systems. + (line 381) +* fasl-op: Predefined operations of ASDF. + (line 94) +* find-component: Components. (line 56) +* find-system: Components. (line 18) +* initialize-output-translations: Controlling where ASDF saves compiled files. + (line 327) +* initialize-source-registry: Controlling where ASDF searches for systems. + (line 363) +* load-op: Predefined operations of ASDF. + (line 25) +* load-source-op: Predefined operations of ASDF. + (line 42) +* load-system: Loading ASDF. (line 6) +* merge-pathnames*: Miscellaneous additional functionality. + (line 329) +* module: Pre-defined subclasses of component. + (line 23) +* oos <1>: Operations. (line 31) +* oos: Loading ASDF. (line 6) +* operate <1>: Operations. (line 29) +* operate: Loading ASDF. (line 6) +* OPERATION-ERROR: Error handling. (line 6) +* parse-unix-namestring: Miscellaneous additional functionality. + (line 282) +* prepare-op: Predefined operations of ASDF. + (line 36) +* register-preloaded-system: Miscellaneous additional functionality. + (line 239) +* require-system: Loading ASDF. (line 6) +* run-program: Miscellaneous additional functionality. + (line 355) +* run-shell-command: Miscellaneous additional functionality. + (line 252) +* slurp-input-stream: Miscellaneous additional functionality. + (line 430) +* source-file: Pre-defined subclasses of component. + (line 7) +* source-file-type: FAQ. (line 287) +* subpathname: Miscellaneous additional functionality. + (line 338) +* subpathname*: Miscellaneous additional functionality. + (line 350) +* system: Pre-defined subclasses of component. + (line 50) +* SYSTEM-DEFINITION-ERROR: Error handling. (line 6) +* system-relative-pathname: Miscellaneous additional functionality. + (line 182) +* system-source-directory: Miscellaneous additional functionality. + (line 199) +* test-op: Predefined operations of ASDF. + (line 60) +* test-system: Loading ASDF. (line 6) +* VERSION: Functions. (line 7) +* version-satisfies <1>: Functions. (line 6) +* version-satisfies: Common attributes of components. + (line 22) + + +File: asdf.info, Node: Variable Index, Prev: Function and Class Index, Up: Top + +Variable Index +************** + +�[index�] +* Menu: + +* *central-registry*: Loading ASDF. (line 6) +* *compile-file-errors-behavior*: Error handling. (line 19) +* *compile-file-warnings-behaviour*: Error handling. (line 19) +* *default-source-registry-exclusions*: Controlling where ASDF searches for systems. + (line 319) +* *features*: Introduction. (line 6) +* *system-definition-search-functions*: Components. (line 6) +* ASDF_OUTPUT_TRANSLATIONS: Controlling where ASDF saves compiled files. + (line 6) + + + +Tag Table: +Node: Top1687 +Node: Introduction3739 +Node: Loading ASDF5819 +Node: Configuring ASDF13441 +Ref: Configuring ASDF-Footnote-121589 +Ref: Configuring ASDF-Footnote-221821 +Node: Using ASDF22534 +Node: Defining systems with defsystem26836 +Node: The defsystem form27222 +Ref: The defsystem form-Footnote-130809 +Node: A more involved example30892 +Node: The defsystem grammar32924 +Node: Other code in .asd files48535 +Node: The object model of ASDF49625 +Node: Operations54177 +Ref: operate55087 +Node: Predefined operations of ASDF57060 +Ref: test-op59879 +Node: Creating new operations66512 +Node: Components71498 +Node: Common attributes of components75247 +Node: Pre-defined subclasses of component81739 +Node: Creating new component types84100 +Node: Functions85476 +Node: Controlling where ASDF searches for systems87299 +Node: Controlling where ASDF saves compiled files108946 +Node: Error handling126833 +Node: Miscellaneous additional functionality127665 +Node: Getting the latest version153111 +Node: FAQ154137 +Ref: report-bugs175672 +Node: TODO list180560 +Node: Inspiration182961 +Node: Concept Index185261 +Node: Function and Class Index188478 +Node: Variable Index194871 + +End Tag Table diff --git a/src/contrib/asdf/doc/asdf.pdf b/src/contrib/asdf/doc/asdf.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bd795b0bc6175621fcfce392443afa4c0fe3ed8a GIT binary patch literal 410573 zcmbTdWl$&2(&q~dFu1$BySux)ySuv&?(XjH?(XjPLk1Y!26tG_?z4OE#{a~9PTa0H z9Uak8)m5L${B~9*se*_YEh8N(6zTl($T}1w0Rw@(kre?C4-~zOshzot1pzAuJHh|D zpy<UcZCp&92<XLZ3|&k`OpWbLOriMrpqyQtObu<JJT`4rWaA125PI&Yz2M1a2O9WM zT!ds0NN(y6OjxpdsG8{_K!ACkuiNxfPNvP^6V>bV-B+rvoc<mdb4T8u8HgXLM#=-! z*2tQQo{xJU!Gnq?Ytgmcu2+xPuGInTHw!8ot8PXZbxE$8F7$HUbWL}xZ9QjSg(bYG zhsuFGM(s^~;#oOZk`!*D?rzlbN*p9ONX_q4Y_^Ii_Ch^Ul(-F4ckP||ldIUf%n^=x zZyL#-&hq4N5?7S8w?yYxh`voxO;IxdZNSD<Cy$yQM&wPIwoTWO*h;s@fou|>ltSL< z<jnErQESaSYD>r~DrEd}0r!BX=bBzEIu8vGx=Y(Oq*TKZOfv=0x?|qDkw$(VqC_Wx zQ4Bqo`oeF`yyM8>mm(Dsmys1heAJJKxG;^l$x-c#pd?&i4wprWtdPFEM~MvQy~hIF zKs0Dbf1f~*FI+ODharGF%%Mpo9P&siYoc%TXujJX$budwv&f(aB9BoQP^MD{`iPm7 z5#Uhx%Y6E+U#I%|AdJIr)OmP<ITo?5_rzQFH77{UksX$X%BqqLxZaHRO!<!>9eMvB z!LedOc&=aaBbTxBGN=srz;hn-mM4WKLRfZ}P<kky%F55`7u2M@-jR|`MzF7i>pu@y zBJEKhtY_MS-j;xkpV@rOKx6ipVOc`Gn~Q%s^l9FkWIBDUpGzMlP)nqb?F2l5w@(F} z4*-hP1?zy|F@HQ_L|<&O*qK>CSyC~;i(29bX{ociEyR&^e~k$=OZN03wzGjincA8B z7ggVP-$X(&{TnhlIsX5X3HnVY3d8?R=5*h#pK9Uk|02`1r}E0}Uu0_iSs93(u0qLc zt*MnY6Tg}By@UmqOwpxpz1XRlvE8X_wcjtQXso#$X3!%)Z#>b<_Ruvuwzl(L`4W}( zrkV@`bscsv_m5-aZrO<;Vd*O5?rJgD;-G<mPJC~a)mAyoQm9js5-&EzQ%Co(?YXJR z#dv~?70qC8E8GWy&Rry;Z@fZVVDD-#P3Zox;`Y`|8=H(GV*GT8vR(5@C_=aIwsZoZ z97@7WBpA1@b@FMepf6_4iQ2{45w8K>K8;46I}+X&uc}&wl&jZ8)ec*0o-%A74=215 zlARGlsyfW4-t$^0&2eJqlq&u*GBdjm!*~b|8=XO1a##OASTq!u!DW*s%V(et^CiQ1 zB;p57K-#NE2ctk(EL}9Dhbn+GzMx4VEb1wVxS}=le~e)+-oT-f9P)tVG0X;eyHE%D z8C{VP|BYtZ^v`}9Hi*B%IQ;vV`+pF}!k5T>>ok3j^ObpIgV0c6RkIK@n$SK`9thHq z4bHyNEWmRK<U@_~{$*Gh{{r?m*;!KfCn@scUkl~?!gBV*BL5NJ8i_gHkzz^Bpbm<w zpfjtHGN>=DyVKwAEZ(c@%JS>jd-1I4VS8H8f3Rvz<E=g1q&qR%kjJXuQJ+G#1eoCA z4F`FgglAzLM+x7CbBX~%Z9mX);;uhU8m*Vw*F@-(^`Lho6*u3AYpbv{?~B%Uzsd+U ztGoNod3ihj2`Tfxfs~2$KZjI#z;2%bq34*o`zMK4{yH2&IZ<(Zz_6jTYT=5WFweZi zZxK0;zfTX-2$5>u68G;%F~>2yc<-<4aY)Me1}ME!H;}fzuB6e6yQ0W2;F`L6^afq- zKtD?3z7ZW-ImF{)lxf>oRojk2x3~4|#X3>_La+I)vVjk|ia3Px8SB<Dd6ys}tLJKt z?_C-)7FbU(f$w0e3SckLD@o4P&`w%KzuyEu@aAQ_!o{Js-s&mm$PW>)G^}jwsyorw z^I1yo?rXu-X?@iA=}0r0$G7fwB^Ij}cr%OXkir{5$ay>cxyfSQe<lPzRl?wKkNvW< z69pZ9<4hc<;Abshp+)VcxC*{mN-==?2r5W(s5HD_h8e*6HC&qQ$iXLFGN|7Uk(R4L zAQvuilsk{H%uG@|mYeR)v(4};5|gTs6%o&P#qUeu>0z>N@MW7-eUJr{Nslm>L611s z$uYuXG(B51m^sE{_8sO13bqo=D~Zy0(cFenX!;6ivHl^2KTpH)jqo;7PB5%oJ+n&? zp339{l<{Sm(sI0PwjO=tIB7l?@eXpI^Efe7PR*>i;76+UeVy7L!^m7!srS(P3x3j> zOxE=-qc0WpB7fe6^s0v1)ZXYmqzMdG#Pb`bQ?nB?2POwA{3bQMoI7KQB3a|mA8MK& zGXBc!>7w|&S)YviR&9{Iz~<wq<Nsuf?VoHhax(nKZ289W!Ur-Sgg$*nVjEgqE*NRE z!!WgDc2)!lhKu|Pr+N2|3Sb;f$G$rEy~YE*0vT{n5Mm%^H9_55x|edOEQZke>?j<H z-N$EkU8{i7`)nbN5&=VSXoYcwXvOdglQxmEt~X!zR>UHw&VxerQrvb)>&DG$_IL4Q zU3K*PO>y2xo#mBH(wneDNo{X>41MqQWzlA0Jn<33_?{4I8OwYmaMg}0mL)9crf;-2 zJm?ddfJtn2gPcAjy!6k>VEi{bjggg=<v$fFE$Z6#MQR9sb9MEv!K7IZ?HKFqMhC&G z!06+4MXm6|e6g0cNgz8EU%k$p9K+|T)T*i^%x%nfGlwuDFfh-^KXx(NQ%l}j*)=Zf zU`Rjiq$nm^Wjyp$VsMvmqP@%PZ>!Ebh`|TveTUG4e1fiOB1)jAu>YJ7)M@q7X6>yz z>DcPygqD`!M&aIBLqZkQoZVV-u<6Ps=9GbLC|ESTgm(nSWVMy1yj}ga53Pqc)mHnN zY7?p2L9OlbRZ5~dGmK)a^5$#aNs)zKs&{tQLH7uy>!<<mKj$CJGY0ZoSP9f$oo_`{ zcT$Ysk~}_pZgZ@_+;Ro+cUEa@;CncMi*+fW#>7ayxzRGAwYd&LWfgW$+_dGix<Nxi zu|bCp?N&7Erf%?k83x)Qvz4_zA2-*k)Xpm(7<$|3)%V<HjMw-oXXARiLweE?&`O_I zTc@rvbOSe8hHv5xyYePnyLn!yX@4TV+xoW6DKQ3ijr{au9NM^~x;Ny>uz5BIk*5dx zMV+1kraaC~s7<yD+UmSF>=V2N$EMcrbLTIVx;yO3E<x5zSh!S{8a<1y>r3~@r~)^5 zZk2pAWGX<#L5-p>S3bHI&`^S{@Sckq9X^zb4-BF0Zu7H0F~t(Y$OdcB2&QRYL8_Z4 zwPqXTp;kzwu6pQ()JXJBj=d%%%hjezYvyYG$<+`l*WhjFGT8a!*BhImJSj~+7qSI# z>He4UXrS`rm*`~DSF)4ne3y%%_q>s!CN%Qm<8&PQ)0^kot@Vb)4%lG*$;sEceqWl6 z)*jLD%zUFk#JQ;XYwKnWB6Z4s@+%Il6$13ib0cQiEkVkV6K#~S`p<CQU)l@yUy0}o zy*3``n!QzuhVK!rDJ?#Oi`|T0I(MIThgfP&v^2KL(i2=;`W|i};DAEE)X8En1Jv{9 zdu(QUs)f*^z_7Ab3i!i4P0S{jlF;}N-DEdtJxsE0j7nMV-sTSd8xuuhp{^<nBw1y} zzp9YfnviQ!E?d&G4GPz2^LuQ&3tbTyWBDm^(e)QFgLg7c&G`L7zpJLevr}&AEZYO9 zQs$DP?ha^tX#uvbHvA?dk}H4VDyC2ihoHK^+jTBut*NqYwabczFD89AN&<O8ME6}P zu>aT!Mcx_{rvQ`>4SOX>ntes<PF*`Z)37%6_P6#*yvd{@^ke1!R<6g=xti&+`KU9d zA9`yAjZ%ABZ~?oVXX^dV9dg&aa+?OOP0R#lnfbxfk+~x>1pkw&+?(p8OW0Jq;S}26 zssE%6AB-UZR(gGTL9cD)Qwa+PtyZ%xqSlH?q6@5vbM<FAXiVlviP()6Z<f_C6vd#! z1qW8Is^&=Pqj$b+i!ydRy_EenbU77U=ZniJH)+|ZcC6apP(t!|)Ile!Ho)#937-n> zy(sPo643xYrG#tSb2I<!918#hJFHmCcKYx9r0ZA(M2_v6NwFae-7;R}O0yMy%J!KV zhpMcr0b-0qU+^*d)xNo|ANu|}hgRzJ9lbDNFj_H5V+)1x3X>>2<fl)p*<N%>I}(T~ zqA7p$^K=?TpERBmn)~M>!7RRJ^7IB>c*^fGid@}pu08rGmT86nb1TWoxf8#R@WBlU z#~YU$hNyjQ6WYtr{XiZ$l!oxDqHLfaNeAyFk)_SQPK2WeFOU!dFFH4UC0x^Yeo@+m z{3g>9c{vDgxub}~q+?R4PtFLyzYm30dY>se9U@XVI~4AeX;j!4WhUDviQT^mY2lD3 z-2KZJ?d+pHi0+1R$2_|H`;PM+h6~NqeZXjdgd9dBU>+}D(sC3e5OU74(MP5T(3QQt zMH;1<u17Nt+ujI^Ux~d%6OT6PJzAcBM8v2Iy6_QBYi5DCrTng4&Vo4)sX!J$@B6fg ziuOY9zSo76*aJinfRqk*2>u0js95N6fx}lOnO!EuX{4CzK%Q(EDX%?%0CGe$Ifw`y z#4>3yI`1^=zNdF;vHVuhztqNCga(Q2I9xCo#-oQ;+RiJGtuKtA81%{pzmXxP3O}KV zK?7tnx^?K(K)i+UVNmu(_X+OgJT&}I55vmwPk+nA$i)1gdYH>BY3GAc)R3n;>UL1{ zi+uf)Q1@2yS}7{ZGNTR6VZDA55=P+!s=!GR)z2HdeEl?&T{Y_qM=|168VE-^$8kP< zJA4)(uBsV+F6;A*{p@C;xm0(1tEa0j_GMdInE?<LAJ>N?`CSRFB38@u)Y;lv^F*t~ z%KEITm5bdKug|3w{oVH$sta+Z$KZJl$I{~UXsW?-l%m8Jx)`)zCqvcRqnh&0JoXQt zfs|^uwa16^ZMRuV*OSXB20!#JYQc7k^>*sJDp1lEi;LV7A3@5b75xkGNA4zats1=4 zu$GODd(S)Mf#Zse)EI`h48E_B7oVaFY3F<Omn{6(4*m<-=0C&MhGMOUO=1p8*4FHX zo9|(i1Uf=Xx~Cw^;JXI~c^C7XZk1H$#1qbgqmksvVuLW7ky?mH_0ND>?V2`rv^x4e z?>AW_$XN*6`|F6|sDPi2yKu${F9j?I9|_cy=S6r&?+w$A$VDv-G2+uE)DX<O{ZI)F z^vkZWK)<`sM$r|w=PX;;Yr@o`9#(DO4~_}|=`%C;kCUn5dM4f^6;?!=Z@;>`b&6*_ z7;{v{8E!p|Y%W1i$ftR>N#$TsMC&J{!R%N_lRX6>ows~^0rbZ*>eo0tg<k&F&*^_T zf@^qzOgFXQA6<>>&($S8w0<<%@JV|x2y7vw0V72@2jFz1f`Wz{1(=k85X4|9CmsZG z^Y!-iZ3N8*wn9lo%<sE4N5;LoGImz;n>vJS;%N6f<cd&J8JQfqfM_To$ZE@{O3Z3# zzjbnNJ-$7i7qs<Q^x#hWw4COpmut{Qls`z9!87l~=x5wDaG3Kpi;(pEEKGkPS27n= zWs*d(<~3xi$aK!bx2Cegdz3#`t$?iIpX<(?E%qCh5~3_0Q9exoW3pt4ACBfz6oR|! zBptYjmzKZelR^y3;hi3ftl=KTA7g3sc8D<cz=8YNj^{b4@X0tu;hw&HPQg7aU~`ZE zA-uRME;{{^9m}rQ3|laWJ?E!?P}Zow^{3vk<Wa<|+Mk7-iINS4TxvdU3Vgo^JC+FF z*mhK$qgN9D7ty}48u@cMrll)KAgA3QZ)VA-vD`>2j*G`0Zrb$^9`=p=SNT4kb@owS zo7a2C=@|73WM0L79yeiCGbfta4jA!1$xRp$#=It_fs<0wOl$jQc$2S-uulgFGV$H6 z_EC?-*BKJxc0X5W(7qh}V*yP5297a!7FE(0;6e=k?|Dj)gK$=(Plk_WTlD4U!9ARA zHQQgI<t6Kr=6ZW6pq=o`N1O8#*K3g^3Lp_1jzC&eOjoS?coA_^T$H<5#}ZPWl4gGi zze~NVsJ<TF*V+BGT1NS!5W`fnLLdWpI2+k((r5AAO^3NY+Si+3KV4-VKxy4iv6SuG zxHiJ~b23}rG<jqn$8`Rc#Z&;Lh=%%*@}P#y6_?_U@wqFktIO^yT}Ucpex)_7_u*@O zgA%fvw1|3Vm?p5+4LDL6BKKlZZ>vTbMo2Yypj*vAA*-FlcNz-v<GSl6`>D@RO18|Y zgbwx!UcH~gMJ&}3Bgz>^hz$Ym7uD!q#H!}vu@ce>i{Hio*+<()vk~&XpH2y*f44rq z-Q{X!Unt}Cvr2%ZXn8z-+8i@C#{w)YKb3u0jc&lc$~fOfNei*((odC<3yuY$%|O8b z=CweR@D24gJ4UkDH<Xq-_cxb$Gcu428UIs+KFZ7IgM|zwxA3w3EkZb7v2>713}wxl zeiUm6)k)?<;fJ);@~&+@oye@CT+0ME=AQK`r^2(Zwe9V)HNy&v>5LQ8U*#sH4t&Xm zC{fNBg4UL|SHR_whRG{X7>aUMM`cm*nGLHhP1mCwIcA}V%o954l<-}47gO^QBb+Yz zIV_&;Kq@2i6IP0wNHq`9Ek~-NF8wV-+}?bBfJfygM|9-YZQWO;zzB-s)wGBj99;fK z(UX9E7%p+Q#XmD(3aEnQb*S?Tu!=HbF6+oA>rtV0DG-L^@1Ku>^UlWcZH3Xr8rj5< zol)_iDvXJZTE9p}B2<VHQC58it4FF1OR={|Pi5e-270QE&_(e0k4(ph_i>o!#XvFh zBMFmMpvGBP5n%`p(kyodtC_{{*X&!X2;1zK^<+)8x^Gv58ur1vqEj@ojlo{Ulibw= zRHIX>)eJ-_jLIXcCB`QEjxyDKpX~0QWi-->T2#{5l<{1%!AwEF!4jNT4JOEsMEss8 zP)9)u<AnTC#QQkLMVByuqnJ~hIA?I`xnoQ1ZrL%VUQ+2EdH~cBCHuYUpYP#u&dUbl z<VPla5ARR92;jSCF{fnW<FJaSi?ExkT=M{7?7|V!-#l-h0`@&kMbV`i*+r0CGD+-l zf~wJ_)oS?_Y9h=6Nssc8FngWLX6{XTZrD#KTI{^yCV-`91g%I)Ny(YzDsLZ9;o%rZ zOri#kFo<SYLC|ueaFZ4uqGr@$#f13PJgJAbmXdvn<9om%7IzvGp?HII6(t;}-APn` zL<^=}ej1CXHetL-`2-Z01q<mSe<D*2$SPje_K@Gk+bok})3Ci{NpyLuuV!42zt@wz z2m7Qz<OpYC{s4rO0ID%%6{>+1%N}g-L>*;a9r~KDyT{+By6Y>)M3e&BzWDoJoMYY! zp$as!grK%1ToDKgBM6gLV8O*C(N+NnQ4q9qscGnDLfSg+=QDpv)GJA8zjW}TN2lG3 z)Xn^8W;5Vn1*d;jroU*?`m;KBf@2a#bM!5_Sdtf}SQDSuz;+d5tI6}-2zd%;ws!E) zd~8|6?4&YP8ac*Nov;X@D!{6IK#6X&kp5GeFf#r-ZNkFD_#bPNY}q92HpI~DS5%(F zpMyd6(e|yVC5cj^bk@`<l_WpuIIB#jNl~3FOuu><ae$V#MB50wNtHJ#)jdlTv*<&f z9E%n#66LAB;PaMOhNUK~4#}pv&{aKN@1XJgSf7BM5pF(KqU`l7`Swt&sxswk?Z`5% z)uy<5W>>6k>rTCR-{w~I_1{madJ@t0e<<k=6Vp<Y=`dDApEP&2otIEsdSfzYIn&+W zpS5Ppl&mamKiJs)x$m24yu{zSe3$3bWz9lxSo(Uunwe7H)_y-ywJiwz9m}cv=I(;@ zyb6s0_+l{cd&_}`{_6S}RsMd)F|<VF0zDCY=f6*!zU;the1QXMo_fD0o%^}j?N?k~ z#k?~1=!zKEJgc~ua(h%6Q9-)oipyiN^<`UCnc3^do(0Wr`xxcc1Hkk0?neKOT5Y_# zv3oL`g!Rly@va78y}E&@TTFOid`!UcV{|Bur-Ql@Cs+aXSN!UJx7ln*gd?glqrN8u zawz{*mg?PgWR-2x?S#<e=@oGL#}HkT#3A!Uw7fABXITpO$bDKI^^w0uKhsy3!KD95 z#Ba^7UsOl@6)ErRsS#Mu^nqXe7ueT#kGA%At)9DYK7sv-8xhvC#Xfi&6F%v2_5G$k zFas#~^UQ=zK0vC`@JiISN?MGyMg@%X4PEC=19ku#^H1|E(E-g-YF;~)yyp>y`#^Wo z6W9S1FNB{3O((#rFuY3CC1i(rD`W*}tz_`K+jao*Qc=Lw+S*tvXYjkr62E>bFcsB6 z^C!_G+4P@!DN{1|f#eB?y^x7a7!}4ONm@EoXC;~F`e{lFr^c7-s4g<?4<|K%mkgDB zSwI15H>I#OMCp8>8?nWAXS7Px1&4F)rK<=v?Y<wzN5yr9aOde_t5xx&tGW|_ize5Y zd6~^)_4VXSR>OuV4a`7FwS0dF>hB#KvMg1tl5MGf1*B$Ta9DQaKlZ?f7ij0B>a)fE zGN_Jm)b4SV0r`WZ+5wY5m;nre1s3?*#011^AtGGjBt2jfPyyXGLjF9cktdpB9TYRo zxEGyixAryhMMm!p$3~EGa6T%j=d{bG8icJ$X>Z7cBqe0$a=5cw*s)8%Dtj~(;x+wx zIJcQhAw=P!5Vn9QMfg^BX`&G2Mi2>Fkc7nDr2!Bb;q!c~hgu{z9*NZ~#FFyDO7-6! zgD{=we|rpx8jr%&$p$Up#Nqji9R8C>yx2AJ#?-8ly?LIKM?OB?WB4__t3d#N`hsD} zWHeqNWzpU~vDgpQX$vK4Oj_2a?IMfj;;zmCdF=P*rB-+gZu@KDNKS*952=W{<_`R| z2ACki^g$pk;zssp1=OK{<;WRrT2ST+vly7}Gq}F7OQb%%WIy%&gH%KMV-MVHngfOr zB@7T2lgCIz2_uADXkIKOg>BeksHb!`7|Qp0z${7LcVNeCiJYja?Akud_lFpgTpt%p z)Q1z<$o*sU$1^#5m+y1Yn=oJt*Qp5l(?9x(h5h=7aoIGQ{@oFt-?ywDKTBbiNqNOI z34<U#eK=f^w_rnBp*)h{Re?H>JY_E$5T8WbZockDx&R<{+|Yb;V9Y(s(*d3cTBs-# zfe4I{@i5~9!BQ9zAZ|gj==G`+`9q_&tG*rD&CjOGOn|Z(WsB2k;cImf)x2WFeX!KV zCx3g&ryre>NlBXrAB#cy!IUPLXhbO%U=KkQL?Q-3nhbP0`%Y$;QDO3SJjMUSp+gTR zn{U`-pL%KMpLZ?t)|6A3_o6zYoby^lY0C4xSrq2YDH}z;`K45%W+dfk;$cJutnSjM zZl7KqKW+D+zp2Klvaj#Ccbz|&ZR3A7dQkco{y6~J7r)RR2x1BjHGm?tpbq?(Qz2?W z5=t@NY!8p0MVIi6^m;k6*EDN?u=k#pknfxW)1EBH3Z$&eUxH8-KrM<~j#Qb@Vji(A zo{U!sxrFP|Qx4VSex!lQkEqfEg@qu?=VVr@#9{fiKB23THL|BZmd4-~i<UKC_d()^ zfO#1S(Z$y^J96v#3^?VfsKcXMx5oBQ)8}uS!8fmzflC!!iNRN_Hp%%JKHL%Uybd&% z1u$#M*nPfl)U~}Df*tquZ)te;hgaV9<(fguC8zjvCY(uM&lu2wms&IZK$z}?%k`@r zPK9wzvgS|cYBd{I=T+f(8C=oR_fcWE;Sz5B2ielj&Y?BNY;mJ;>oaIhj)fwop)i9e zhRgS{Sx`Qe7)C`3#GN?N7_y;jwdt$ys%@v!+v##ICk{I;6B)^v-~KU0PLaN8`}ZQ) zApnE2=SS{|S&?pu%*b^2o${FouFUR!Jg50w4rS0Ui?8PvOQPUX{;+~54G1J77WiH; z3MFdb5!fXivV0@ek5b*{F`G&zK4na1ypt~vu;_6EOU#7t;gA%In30ngP>GRLq=esV z8>$P56NzSyUGc5qjU}&Enf<yb&bF))=i`5=R$-}(ZX!(Ihw+MY09Rq0m8codDF5g> z`eA-EdwBLRwYJe+CRR(wbuB6!<pDYX8fP9oesO`PBI;4xf)uyfI0-WZVTG}+T?267 z$MHh6+8nK2Gj!jg&wA<g?BZ)4ugPDLi8yxPjZQ#JZH<opwjDn@L*ju|7@6=ac(F>5 zCi5tT!=`=TNmdH6i(X5jVvAI^hmXCSH$^|LJDG<{F^?<gOmn3q2B<XI<XDH1mQ)DK z%UHNwphy@c=0f5x4mlSbv$tc4RMNPmP;;oHLxmYqU<zI!%mh#mqL-!eRRbwUh%Jn= zt)Ac8Ko<Ttyj7EMWWuU2gi6#z!@4sfxR8kl3PYkUW<k`VGO!JxO7llNiULT$ktk9; zng>%4<4IU!n0#X#!W#EXI!ZJl&<={GKMev%LZL~M9T)>w=nnCD^+eHaxg0kpaqt5v zrwWj%-a@n#P?>X<rE04(IZq4E$#g|`X$RTkY4Ckg7S4^|t}yuG*Wx1STf<;)KCEXM z%X%BRz=H^@%`joU&HWD+h+n|vMhx*<kl>c-j*#HoJ6QT2wn*<(L$(m54nYtE?cX%8 zD^c%}ku2Q+Y<01MenFZwo%28FI{99Zp5K7{b;lbjA~%)zCQWJH43zR)u!~xe7QZu} z%7|2wWvy_-Z$`^|uP!%#%!`?!CMogk`nl?CF|majM8ck=O~#%HtqhOWfw!;n{~Hy@ z@o$nXm^fJea}}opZ~}}Y`aY@G-!`hKvP5<4C8i}C*ColCPDxhR@C<tfNJ<ESk)QzS z)ZIR0>}_HFxu@|_Ty4~?ZIo!35WeT!UfO0x&^0~7*Hzu9{GF{*sAKCU&-4cH=P!6% zC}C;`Me}d>y1j&!RA(VpRa;nDd5}^n#ebXY*sT5Rume2q>#O_w-EOCRQB17U8(2m$ z*9X>=6X^Vr2|B&5s%O^2$UfUoR3cm3g%#%4(YY0>wLkx8wSHp9`U0S<0`JOoyzZEm z{Eof;%<*#9OUHk?*bsid-9w!9_Z<ACFiY!v=3DMbP_0r&0X;}+GPI!wasWYGhVSW8 z9dAC)lvR-1R7X2of235Dp|FWi)x9sGmXZQgaAws+qs{O8@E)=VbbKy0Wyk^*kNO_o zNDwm3UkZem;qb|?|0Ls%x&X?tzu3v#n%2)z7_t;6a{^aL)G2N3xt)TENH?Mythvp5 z?(S}@E^piS^OhN2m1z-v`1KNudhMZpE#vfgl1F|<b<#pqM2!bL!$?M3oz|EOqbxmi zM?4+89Ak-G!~9&DuHrS9En#7rj)A}Vp!BrUYxh2EfrjP54PZ5UKFia`cfo$-$*t?q z*&A0Qz@wa}H|cJKCb@qVMJKi2&yg@}zD9Rj9tBKww2w?flHUF*NquadH<DLDp;W*G z>$~=1;F+Viz)F_LMzBTHAnYuNQF4vR9mk$!{L5myn+74skqUv(Ia~^esx*-#RUNXZ zcwD*;DOG7=9X~WiRZ;;)-@f_OmUlU;0&{w5#&1bqr_rcqM2SI}GCeJ?G@7BdrYY4C zH(FUo_$!KNl2u@&UCzj}wkh!si^B}<T3LrW<LiFmAL}gpB3C?APRhx;5ImLv731w* z8P)-g60GrJilR#3@^q_24LR1vM3Fy!J!FHGN2+~IdtV33XQY~k0p7^(QoQ@<%fgbH zDEcc+?K{piG)RaHa^V(Y)zd~qf#u=hat*U*ycx&A=p8HYEe|{RS(Z%ak(C#vfKeU= zRdHsyqZ|3oQR~o!G{QTfxP`#*#&;Ex;N|$Mee{+1ehx+9*>_6OWVV3Fh1B82=2K3^ zLo{eJOK-=5FaOGl7wzbjZiN+ge;vn<bALe@p433oeaKPD8v!-b=CPpibPu`u_z+>y z^5j}z!(L!d*^cKiTjuo@V?dVZf%lz@#g)poM(vwnBW~}@&5^_1+wSliqU5cN-=(;X zTAQAJs{-i3vJh~Dh{z8G#s!jwZi{941h9qr42!dg88<ONRpzX*|B_9OOzgg8?8>+! z$uf(#F;;2Xy@|{H{R)_F7Wzo$i0Y`6<Yc68`y|8Wg)4m#Ek>C|P_2l?k8%uKNg63? zrAk!|m1G7@@J*lQpNnS&lFS1i)S00c)#{`LnBF1{vGbSjE#Y<s+4<gLg4uTAk@GpD zw=U?JVIcD}vyTvLEwJ5P2RH(UcdxSU_IiM|t__R<x15@s>&h}0Uj;$SLQeqPjM-UO zYXlpz3@R>B8h*`5KSk48cXXpcb|FkBVgXFPQ8H-*k7<WgJ(AMV=2u$S>6L-83)b0( zg_-}&XpFSd-?J$Vn_cD<Zh3lSDF!)6u*5J3uzVvSNh8k!iIpsKP6Vlw=k4dXy04wB z<^z`X&@autwO>9(#%}%OV<iM3C~>+x7?-Q|Qx@=}l$(U8Ok5D5<rtTeH1gc^l60i` zx>}q5IPhb%7$aWxR(EFgm`1&|*Jm}V;>vNh#_lI%+Phg~`XBoYm1#zvI!;2CH}$vu z<4x*)(cK2wMDScFgz))Bf4)D#QwB-39Qf9W9Z>V+$KY;LXtU>|eXjrYFN2fPM4jf! z^Hp7Wrh$V#DV}#q6mUAk<&nV`=qQCB&n$uugt{b-G<7a)87N&Iw_mMiUDj|~3;R+7 zYg-g|00Wm0s4~O;5eVLq&Q~3jc1ny<b`Q*%w2(s>9(hU}ad<ya6<Hts!#CN3_v=Vw z4v_8N-i3KqqxFcb+eD0o7_59VVm-|1nIIP6C`8P>vyb(wJX~y1Lyy>0j%gx5jH)W( zc&3zp%he8)nI%W-YuhmJO?GWqRWJhO;(UFU$+D+Q24{eS6ixzz2reKp;=9KY#S`I5 z1)Q-YUM*aI+p_b{^NYwueL&^kRj5Dfj;(t(X_V;ZMfuN=wSj-KeT^i+h}XQ#F*^o0 zMCn{Ogy;lD#$}B<GHB9L&H&})Yp`&=_+vrX+ugQh+S=R~V-?_GVm{mc?9Y$DYUp0u z7|S3|IIqoTg7#~e<S9i+h0b}2CKtclff&VVq*EEOqLrhC=%=VADFj9^WQ|@NP&pxS z`SNUM-VMA%%s=do%b%sWcQ&XT%aA^58N-756Q*VRmfmwF1?Svov%J_CY|kf95~%_t zC8t(MRZm(aK~|1BK*BvSMki|PwjRfO<E_ZS=J@Ntz>|p8*E;LHVOuE~v5Jz>evpuj zpv0>aDetyd2B7W5&OPm3^poWSW&Tl=MPru5;=OG9$R8#SR@iskuK7;iQ!a?<0qoe| z;lhpqKIe5$CeiGaGAr94&qPQlq==^E+qk{LiP)(jbiL>>G0K`PYLtvX%hR!vH0&yj zS1y)=@O?+qI%BZC;rv>L(5SU20;=CZCUr$HW}BjdfuoTJ(-Ts};TZ%~L@+FA(#kY4 z5|n~3kr}m_zd)5kZIe5s(Xxg(9=aa;T7Uau$MWf{8ULKq2W;qE>ZxC2XVSJ3*7PEH z*Ae23#`g@H!hjv12+vzX2m_%SQ$!qMPO6G490m}!CKt4|`5w2DwOwlTIg0Q3URuo# zcMY~Yahtt1O=AX=$sx~?ASNtPV*Gq0N_9ktR>l$NBftSti4G!3mCsWuFXeL}NIJb^ zcx^tF2V&uuw;IVUQx*=ngl>z8P3eh>e{-~oO*zJR>a`Nxy-8*ojqYhSod!KXVV>89 zVE!HpS;S$Hu)<(feGl<2q5sOK%2!L*<ypObnY6Fk67%8Xm3t>tSJ(x?OVzlfn%}q` zyjXJ2qN&LD*C@_=LMQ^E5>rJSMi`MA3IP?ahar^6uT{9)z$N5fmTmxYcq9tuQBset zDmBtliBu(&7;YY1`s=(t0~9O#=(eJOMk|2o)yRM>Sb%`2(10Xq@PRN@ts#E`_ospP z*V@&L=OjOUd@`{_)-h+W{uy-(np;-3>f&)|97r{iSgpjENZr|uzA>hEz~mp`7=gdX z9E2Abd6qQd^s~@REHnzh2j+I`8b4R<x8aq)>!_vAb~DiTGH+adoM+vQZiw{Y${>~d z$nh+(mPy;yR5E{Ef0V=1sJo^q1-OYQYf=6&-x%c2O%{WebZT%2fQv>ZJg7z@{P7(N zl{9{dpHSsiQbb^?WyqaUh3_+WE}fY#XWbs{@7@P%so&+zU`=yf%du%Wp(!I^8xy?b znVi>LpI}7%VjVC20oH}LF$#ZSw((QNQ-5$bs2_!%Y7o74Z-A}D-Pq*MY@ri;eER0G zfcX=QBJVV+UHa4|udq6OUSD&Yd&>dJM-$`O8=4B=b6(6#vpu%Z6^N6Zt_wN>gWMJv z%K>HFju5yaBWt$7h&Tv~a{BUNZ~e;sEkleltk%bZ9h}|t(ie`4`^NRyZl_{&BhGP) zNKXtNhv6C1;n)YY2z(p+#d{OY;<sK|E|@~}0;UqPN19sDHYJ(k?V#CG#53cz-?Vhm z9y%d2x^H(7vmoU^Zuzkg?07~b>ai4z2PE#u3d&O#@&$Z^`{MFXrTzboma2F<m=e&- z8(As4*h10E5il|^{41^5$=QW~gPHmNBt0`RvHr(8d`3&R4y6OpH&1_WY(|)eZY}H* zq9z%ZC^A{1DkLS501slzMDjOWr%v%q-`tIgu7p7*frEHLC_p&QH+G7yt5UA*Tc157 zl#?O7Q&&*YC4;&*lVXx8O7}<==7Jvtj*4=qz6(r-NuAi7gxPITsDdliSw7DHsshQ+ z?*aZrvH}jVRgH^aQxU5o$#N5{!2LJ4KGj30IRQi0RbhVvm4l}XX>+a?$k+#}NLOA) zYw=yHhHOCH&L@7O#X8Wn`Ue_tVM>C?JeZiw8L$(hiy*NevXbQD!iWR1Y{x@!(-g(e z5!xIvL#<&01dbLU2}pd6ke4MWH&dS@|9KG@f0R5kNVbZHT&~RK1$f*Ka56k+Gq9!& zPRxNbx(O<=um)^n%1%;b;l5NDTx5djdL9kl^Aa+j7D1<eotD6j(Jl7<4vPv^7$*s< z=m^ZrOcu!>!ioV#a+$Er=M}Ee#xO9BwN}7xdtUj0f`~^^{fiA^&w+c4qagDA8~~RH z&iPZC5r#pgF5_|ESJi>^F_)jyuj$fqNnmnL1RR^`v%(ha?Xq*mFes(S?=~mtF^nQX z><DBw&72IG8Z5YQegT4p4_ls|pCcf~8dN{=8?iRWZOmb7$(`?Qy?D^Dh%<>tl#C@< zaM7O_(VAE9@_*|TCnX%yALsmH9b?bk`djP$1UDxB<>Q+YyUYIpSlN5dT6(x#dAQ6n zS=Z#piRIVn;q2-0bb9~?T=*QotIz54d|cf-d+9g~8L*SRO#pA(&(p^^SK0UR{@@4F z=ya#Y#Wyh9d?(#YJ9uI*Gl#FUTQZK{@sE#<tM%)ZmA~TB#eubXGvG*nnZuvESzB8p z@8`+=IgB&<)8;r2e(YL~eXh<9r-CQLW{yFMY}WOPtCYs!hb?Jb$H3vcf3x@VBYm5B z_HJMM=g;|BHh!5geE;X1ua~1T0AQ_;3okE6uZK(b>-I2;z3%Q|<?`lX=JfhE2cPfV zd)+brOBq0&-k;I@w1_f$%0n;c1sA&F#@8#)cV^4#%fW7?*T&8_qT=oF{f@_M4*gd8 z0s3v^vcgWvmAbM>MZ6+*@ZU6|*nhMG<lZ}czWPHckhB3uv%!wv&&W1P%0B8sN$z%c zfTbd3t{wT^`9AN#w5F6)$JE>jtBKV!(Z<&nlSI^}u=tF<Eb~?&%&_xX8;(x$l*e4# z3u#j*>%dyds|`^uJ&`ijxpKGCrcBQhQ7+AWVl8SqLmcXKdhcR7COA4tG#8VOtV>C9 zVW)!hslkqfE2%YT8YeCj9n4(kgjuu&%^=a4Q>`f>r-WMC8<anZo)#EoVAJRmqeOt; zX(;3+1fP$!U5hCR&|@k}b1|mqT;MY_kl?Y&c5>=0QM!DY6*T+jsAQb@2iazYInNl_ zKt3EpV$ggzc{Q<9KF#BN&t|j(<f#eO*Hh|_wHAK|j!Ln8ToLgJ?`ZIJJVS3A_vpJr z>)^6!nv%19I2t{Ncr-=Uz{ogtM-pUhFQ(Sw`-_mc?p!Ca6%8?S9;Zi;8zPy#qhaq{ z5c4c@Np~~kP08rrZXIX94o@=R2S7HadVM(ZyX-@?xM#1YPVqO0xNzq2FsUdP8+<n) z#+t-hHKj#?y*PynTf^Z$>;CvGAM<Xf&B3sF8jzbT39~)F67_1D!Rqr1aczfQOp&j{ zp!qN{N%hYC?#jcfO3NPO|2&;jMzk)^tK04MdHJ&x*w5{I_zWbb)v*K#UinzJs9Ww& z)9sVNmCr}<a8r)Hdp6S6iF-EUe#h129d?D=>3*_P@IP<V&$r9+y<2v0O*tkVlJ_Wv z6hn((#4%%;aQ^3m3ewk<eXWB@$CP#}9opK0h-3s&sox=Rq9`6H9&|3gDWeDz>caiK z0K>n9Q#)-G38Ee8C1B{4pM`1e>bl9}TEY}Hy<IRR{uS6hQAoVPw^9k?TF4}#*jST= z!&C7b@{sS-<`5-^PKA2tAxg%<i)fWG1gUnGB2k4|E1@nV7set>-&5v!2yw2Uuo{!; zikcUjP~v1^K)lqORDoO2?3r6uP7$U%dv{hiUlViZ<FVJNJ(I)sj25D_@{1}_2ogI( zdp8X}#Tfo>IUcpe_tZg8yfB|Bk3~l=_^hzVi^`Xb@IGaRCk|Z_NIAZ7-?OA&@lDL+ zw<vi_zoyim86(~{+7vfb{K#s)KzY{l^$d7XwWxBsaYoZ2U5|u61T2kWJ2b9;IuqFG z52(Sju249pNZxL5`ctvpk#s~A{W#GYs*`?O*|>}4tQ<Ny{1#2fQ8bSU_uYbVbTH>z z*3=bZViJS(=3Kok{5_^*kTj;X8rbQh&qYGVQ6hYk1^L+P!g3%#uPSEIhx6*8Xkq^6 zN|k3hcSLL_tu8i^Iz)sOfs!rvhogSUvm_oNgIq%bK+Xm4eKr!K4|&)Mz)>|uB^d3D zlY=@dwE9>=y>8dw_BW+5fm~9vM4`vuOv3mrV~?r#@w0&N;W8{#NuAQ@IuA<;;AchA zEmh$4wI1*C*09IKhqi7~5Dr;L@V$Q^*}(9X$u=|UT-N_2q?Yeh_u^QJ@+rKBfA*2| z$>B@-+4^ii3o>d%rlnBmbrg6UhwhhPCwA=$vqnAHQRsCSc-(~w2^S+EQmTkRVI~NP z7b74^{-768UF=`#kJ2nkXKd_m`oEg>uQiZ5Fg@sQG!NRpnIH5ke3~U_gyyT|o_r;b zv<Gi8E!XESK6G<X8rj3jz6UWe-BP)kq`KXw#!bZluO;&g95#IMVVA<<gBT=fG*Zvd zpar7%O`20SDH=`E@_ybIIUSnpsnH^IT@uF=8fPyG4vGekB5*~`;V=U=Y5y{ehwt~$ zZNHPz2M5$yk<WX5?i`P|eUJ_pOx5`?)91R_GsWg|+>f&2xUY9!Pcv)o{P*6_Wif^a z|EZjq7+C+A1;@tvUrBHT|9wH&W$Ii~5(CQE^#?Tu{UYYX(INRwX;n_eL2l|zAzppS zrX{6J#q8@YHdcOtK<WZs=h;0FiT<tZ?pycY{-M{Oxr4dID3oYkQ7(a13p1dVT>{V` z(l=b0ThkmK0SSXp-4=(A`Qbp8s}ZR?;{G4Tubf`&p4hC^jzV}1RH(T0k~{|COoCE% zPF<T=%9b_(vOj<ZKVE9b*WRA%XWdF}W@IGac!2~69WI@HE=&BRC7cm!%J^}*PmIua zr!>XV;an;5BP=pdMTB^ZP{W<L*<0A^hk0K(^=~n32e@Z(+H|^Tk|Sf)v$*?Zk_LGS zDE6gR1PJE+(Ty+4vJ5h+BlAWGCCh+ImcN2IYr~qy<$pxt-4kG#v|G{AV<sZeMNFp@ zt_}zlFoC=3Y-?cH8bo+2x%L+SfCjh%LAR*~iH0Lq#SzDVRn%LgL!=iF?V7)^5ESI0 z-n6EHR>H$m)};nl8QMY=Qz0J+a7E}6Y)s$+O*r9#Oq{L+kdP3afg;riY!<)V6>@0= zG@fWH@iBbKD$zWizduuQ&6-g=`{G~ssb#(q{~BpRH#@S!%g9o9X7*1j&cK9pygn6~ zWM;ny`M3n@x!eW5yEge7!3mQBv$o4fCZ0Mic|nySbx4Id<yvks+s$>EL4adO7d>O! zs!j4Dm_##$W}Crt&t{%p6#sQTqshuKU$kO~yHccSBp$aqnT*gQpiwI<z|q5kpo2(a zGO}$`nf~S5Rt_gFE84A{nFX-bL5WL18eAeVC8%<>5i?yu;%?l8YK!;PY|;JMc=kxu zM0Fo}E_WrIvEtDe+h>!+*dq6p)>*WCJ|7#jPvRzMXf7Sxqo7d>i_!<A8Yl+#PrCnA zKJovQJN|$D8E|m^pFaaeHpc%dy7=$uAJG8V0XPu8BlLe8-Vicyc7EjxY!XC)X|Y%= z_Mmzy*m5nbCcsErX7ycTD(;9{aZ(~+Ll6HB&(2_GPaLAK4n~>ODnK!G2^=@L7qSjx zgfQkArJ%7mEOx+qmxILbzm^Dw@GA>RT$D>53R8-AnU@$QdY%t8%^%Z1gMt}WN-%Gj zrSk1>Ru>YT&?k{-6xD-PG9jD9PA@H3(H6{%2_(U6g-VS#t>J@mLW+KOMild;r|1_i zM@KQNjTE$iG^G+NP<22C$t9Edp<q!&0)e!d2(lOKhD9a;3-Xu<68DpW@&{3%xMsl* z3`s%f`RN}sKsg91C;etfC}O8?zt1Fo6H15%$3PUs0`n1Sh=F7@g93{!LIodS{s4Jw z{1U5RAiNYLs4ONd0fF$rV9SOn4o9|Rfp`Q6=pff4uofZ0GQ}^_m=c<5ObSg>a1%mP z{&)c8GuD9jqX0P(RK-B{q=Yh2a;g`!AcFuEfus|JxFWb7rDPz!9@S(eG}&l}Ff-Zk z08NYsKTz}z&Ib8qZlGbHoFIh^V-7zJTo_D~6+lz~R589Eo+-#cjsk?Js1<CA0pZx6 zj$z2dWI~E0R1QuJ>!DEB8b_5{^JjdBw2FfpqCwR`yojVaa0aWOLB|UV%-~Hb0S%O9 zS)xPq;}--0P8#YkWxk0)_91-?RBJgc0+6WWuYh(qGbbOO485JY#Pr-{*Cp9fboac@ z&o^0B|6Cb;)^ks-s5m5mvYu?|^-?u5eoSmgu=J=RVmk(he=bx&z_ADpe$;75`sbz& zn~@ilp2l00$BR>7pZR`<Mmxjr4ULofA9I(G^4!lROu3F=t%HU)5<}!UH_db=95mU5 zflr3;Wk!e(9ND|@*|B(dilIrhfBEpx=q=idy?Ah4_b71C;JFDVFYx7B20i>Wc+R2I zqC~m%EjEGCpFqO`Sv;@zyr@Vvh6W{}Ve)R0DS0x2_V>c+o)a%_im9sccVXqOAmLF5 z*`W{i1}W;F;G>Rdd?sIpMAhTVhW0fB<zE~IdUPn1!bXPHcmG723n6~|x^eIj%X8<( zssgdy;K<#C$HN*4RH>C$Lb_=V8xfA-NcvFbkd%BG+TXLouhnWk6jiaqiOq#BiwbZL zBGQbHz?2VC<8BSwNb=@T+5##=vGep-;J~3!GjGS3Z)?vJ;6}yo2ua)TN&kFV+Xb1a z5_i|#rA<@E&TT5a@?telRZh*AtA~9TD2#9oie<h(4rf`4&&{pN+7JzlG4k^BA}dWh z)h4gS>-5soE1S4y6;Rr4@wnDNGe6!uvg4Ju{Q^BJ+bQ)_?X~JXgy3jy=W~LZn_@K) zo!0Ta&@#A1j;7s1*We$WS$BrAtGp`@O?bUIdnq|8p?@ulz5KzI8^P;3?y>$GZK`Xv z=+ECwPMTc!EsuK-I8k!<twrylrc#BWn$v8m<ygG)7Y|N%ICAeV7ZaYCSdmMP!)?F6 zHp8;}KY1X%#5q24f8)sYrq4m13wGg_89eXh|Ms_i$NxDZ+~il)<;vWb<*KUu1kRVe zvG2c>d{^0vMvh))p7Av>jmFPwLN#KQ6I<DNIeEx5gOBdzn`D-!d3G*)W)}}~gr-WJ zI-hz3aN?Ts)zGcOZ<=^FP^QIF`)aXD@|a}7sg62(wfkTI*KX2wa?4h9iP2Db(Ahe0 zK)dt>lmH$*7xzz2Bv__8EV|xIH&+i^T?u>7lUZAJn?`XLd|tz<d=zPy!a4Cb!>$hO zBz4D}v1<-J9)<}8FRuhf@S(}NT9R&b^)av2D2-z^s+_uB_xG<JTXlA?%{%};hU1Jw z^2qzsQCS53HJ#Xu@=*hwdY_b~v^8n$r+uak7OO#p2`{u8$c|Am1$uofQ}h&T_ch(R zgu6X~x>52P0k%VgSj<LE&A2>G6=eWbW#?Umv^HbWrkU}u3*u;WOwU#tfLoc;oBhd8 z;bY5`Gf(c!5!fgEiudmBFUr-s#x6sfh1$hxEfq^%vyu8TzcDJSzhxeGcp7YLE7dxY zD?rR-zr!4gUBPB;Tq@01il%+*em*qeaw{I5pNO__Xcaeh3AeCRk!zY~ZQ%|?7l~@p z0&<Kzjb}4C*9s^m-S}|Gt1q~Fe^V6v({(X3a{h;|i|sqU^<S0zj7*IGRg3!HyRH&7 zS?2>bn4UNF-|gNK#EJQQT-@AAquVm(n`Y#4+&xrCxK$~n>V=6%yHA3RIq;HpZe9)| z5%B##{tAqir-LwY5#a6_QY?BfkV4`iQW9q|QnHyu6QztRC#|B%OLKwF1{WiDF^Jg+ zF~MMKM#&cbH8C1+mY8PDMQliU3g#H>f(<9lT`^%D)D}*C7z8pF{%s?{7AlXejL}~v zOQ9k|rh<Z1562qv*DxRkWEfsJQsWUhGT0tPq1w}sNVs9-DV!2~R0NSU5ubwuaR-qY z5s&c}CfSEULxPOan6P4$5Dk)Jv^+-1%y1tRTBV-^7%ktVz6ON`#)ukse9(ySLDry_ z^Z}G~C6Rl-V3a~2AYaKJ&LCC=4My5@A4A_@7C15#AB)i76hdkON{~}Yqdyy2lb~GG z6@%Y&gpf&5&8p78PPoY+Bp<DUVY8OTf@u=&>K5!sNk)uVmBdd3Op!w00JVT*P+(*b zQ%Ip9n4vzBQ;&h9z-TWhvRvaCLqT>J{;V8nH9lY*qQ|KFMBrAa$%Vj^5e4;L8xbv$ zJ8_xfBXB^HTEU>Iz8^nSrdfy{lXpeH7?>J%g)zCX#bH$5dM|p^B8NZ?f;xdatUfRp z4QDX&jlLe~I~Oi<L9n8_70QPI*ERu)IJb2lAy5!h1%_&okZM3N5G-?QJ^}8);AU^r zUPo9nhntG(mCn{#3%$gepN`MB@D4Rcf2EBzhyHZva#YdxsceeJ7MQ+5Z)wEp<&fC- zvpank_oZW}gX}?6w<YK>>Iw1D`oO7;jw(&rH@FAR2aD;}V}nDW(z|l&06J)3ZR==V zx@UVOrRsg)?~5-~R}HmPk9}m<Y*(%ho0|g?%WdV*z~42O^CNeEciAYI^6|YA4fNWK zv7Pq5E|8I8*2sBQWu*B9Al=TKs^3i1WQsQdn<akAvP;|qSd@)<_kq2+xL5!;cg>8} z%dAEmu)lfzOH3U5<NTLf$!I%7VxPS(s*gevb9Km0<vz-3CGCF07ae-#%bm>=Y`=SI zv90p7u3N<|yLSyxX3C3_Tpf33pk4#IY`MsJtto356h8Li%T{<@SPYAQ7V)R5yQH<o zI-QW;x!$qFeGtxkddXyEo0#+;)lxwFgM3AD(5myx3wR=R9y3wW8RyB@T)$<)El2%i zhu5>!(af#cYnYrOU+%s=<@bGQN=qQexgfV$X^W<t^q#-Xy5zZKnqgbK#$IzfTz<y? zRp-?E{JI3{!rx3C*I;-2WS^bAgF%FYc8X%h-`ut~b^f9oEvxq|n4$pR;<{#XRqgmB zdR`XHNPc|}OqAR)Wb4wNBsV*hJdkd7+w1xJH{g#~f1hw|b)ROf&1V@%9NZS$h-m!7 z*n#V@drldEtY*`x72)WAQ1*_`okn50Zfx5&I<{>m9UC3nwr$(CtzXcwZQD+E?^Cl+ zP1Q`DJ?B4oKdf5sz3%l~*UE|H1$xn&<mM@mI&RQ9ADGQ6elT7D>Kxc3`y$Nleq%>y z&D+tVkng|ZJ#ECC73={#LlToIN<BXa`BJaLO-a$JyK(Y56@z11NL_rX#Xk?88F!=d z9Am{&3Oe_yf9c#5H7qfvcpb>C7h`>f+83<6IYS>%A5+?Lb>)Sr^|(A{-IN`peNVi7 zH>Qw+Mzk+44Bht0+??ps)6bdw*Zq>6@xK9vnVFfn{--0;Ay~R`MV$9OzGBV{GQ|Ny z1|scg3)h!1tW_OJu4N@Yr)!YhocOj-qUqLl#UFR-`V@kv7I(Xj9aJl6RTICnu=rc3 z_vLa+l?vRlzRq;%R_$(*1&NV@Q6uvRw!glLlyK1{#B|E1h72e63)Xod2xE^t>c7}! z7g!a4RztP2c2&CMTnA>|HjqZo8wt;A#a5}%%dZF#`?^0?hT5y75;=y2BY8URO^WWR zl*FTS*5oB<mgv&fLn&kw6IC0?7(Jx~{Y&)n-5aC!g?)eSCT9ru(m3HQ!;DcrS6zn^ z(7+GVs&FqO_VTV)G|pVB0yCFH4*^%d;3s^x7C|%jBSWPk^ADGR;gcYBhZaOAt+z66 zUHjkzaP4_@E}k=1V)2<hk%iZH?uvQpg9$qqB2q+bRB@;k6Pn+2NdG*>Um$=!1o%vB zGrNL4Z=G$fO#kL3pAMu@cdap9;nsV_$y(LT9n9h#tEu^{oR4u4EZ!y+-$}JyFSbTl zkL76a;R@%yIQJ*a{;D<MF4x}kL7V9H<wpUobMrYWT6W28P8NGTqxqECdl)W+#`pr| zDT>00N`fJpYdD*j_<a*n20ru}f&YwrR>UgW2vNcewQ7Xnu=b1dC4XBEyB`j)y}ztU zfH%?O(oQOxtYl6+$qE_ozYnz=)ztGT{VP~0Flcv%ii3%ZWg(>;=yI~b_#IORRHT2u zUnZ#f5u=qPWl*UsqUbY%$$}_hD+l)@$aqn2K1l2#T}PGan>QWoKm?pGhwk^7r0gIk z4VW{^&hf9_J@viu38LMUJw-+o-~JJ)*Q<-66m?sr36lj46ZpJeE+WJ^hO>)&L5_H1 zS9%OU8VnkB3I?G`ujy={ba}0xrP#Zl<5M6XD+bz-(4$P~v|zBXA&QByQm1L>DX3s% zUDnBdCn2$|h7cWxQ7x0KHIXDVC{0XU#hN)Pm9dHVwbuJoYzx6x7DLc?(oC9-WNW<| z)R<JNI2I5D0z(b^ChaWA5)uhNf;^aF_P_GPs=TRrh)7Xy%o=ynuoa#{7iG-ITE+xR zA)#@!p9=@+!(G?feH}<>@V&SNrHH#`@W>k?q`-;ADvj$s?JQPZmb4XdADoSuk-EpW zZ!s1^QTNsCrZj(@3yhg*v`SD%T-GXS07My{>`k0a5m6B{|9T;%F6yS`!;@jD{6*_@ zD=706Ng;2V3!&)B(9wY+@xn~Zo0n}(F9v>xWR@R^EJBeIuLUW7m;y=t1ZB`=5^zb& z{lhP;>Td(atyX3wFW1N_E!)b(9q0P~A^+687wkTQB9jVR7MP4Z`T8oz1v=t8xJ~oQ zK&g&?30cbd=Dq#bWdw;55mcTRE}rI^SEpF1GBLxImH?xY<57zlmk$obkzf>LfMBVi zK0CL2qSHq|j~qQ_3W*(3Sq&()5WcEK;n-%ay)6s>Dv4z;UXDz+A{W0ys)#7(%&#+G zUm9FsZMn9kQCw`+A)qBZms<h<GZvm&G6#)FA>#hC<0zDZnsw13+|}~KKBq;PDq^40 zEFQ-l>qkyN-y@NR1Io18h}EuI<Ay7bRm=V@1a`UPvhFhIZ@&<0lgP+lm(q9-m@*?s zzt7P`Zau-g-7y|yYD6+n5IL!UXrjuTI7`yer7Jzb@^E^Q`Lj3bc-FLu-@X)|S>ixc zzjMhiU3IHk%ajX2#Vu?09=%`x9#o@KK~~(PhqmLgg<65Prn4SA2B&n@;7ryB6IUx2 z!N24>IU)1c@<5}z`cPiK*V~ZW_ug5S^&6e$S5`ekzN(b!3;<zqOJ|1+^R&v99F#;* zJ9q|;y01H0T<dmzXZ<Z^HfLu*NnNx=q<YUg<=c?7a@~`GnQbJ0swBU`WyfgTt-^wX z{21)7xS(ejcuzTo+((@+9_3^^!#zs=->cY?E2l}vL=Q=doR{A>#Omti5-PpX19-Kl z642<=T9~xD;nu(XSWki+C@bb;7q%gNKhr0ad2GgyfnHib)Y0Y7ZFhZ{WMc1&N>we@ z9F?T**j5HZX=0VC$yl^C$3b%v^;80g0{4UyRscX;L(*aCF2i=N7#MJ=3$T%}gy<kc zrad^#I6#ew?BrnGn<-ioDG2CFrURqLtqD&A>HOaNY)E{8cf&i#S=CX3tiD%-5G0(U zGnN(pTt^ZS{-wL3EIc)mBFj9p749J7mb#%vo<6AwH;Z`hixkIz!$f_$@aPQAN>(tx zyAYsWEVBo_0~>I@AAj~Whr&PGNkt$@pCgZfLf~$7MMwZt?-v2%W3#~rD;G=!OyI$p zx?}l+n_?7W$8sH5V$i9nl4r^FZO)&w^%t_LXKU!{JVkphrEw0NR@F5MHG4Kl&Tup` zwP42KmGGeCaO+tZ%h{6gVZr1Qxb(78{@A{C{IRM7G7!O5>P<YTI^Lo;&6C%{y-2sK z|1b75D&j;^y?YxECP_)m0aBc4Udm^DVb;w&=vD9BEuqf4o*beqy8PJhg`w<>Vn}(N z_%`MycTJ1i5Xc?!4Ftl}=4It&B+44l-P=p(6r^#xgAGKI7hSL2{U8~gMx;3JL4_LJ zeAfVmhwk)(>o)hNr9+)(DnXJfxxtEKz90q6UjtBSyqvIpvq{*~(=A&YZ#R=C_-Kgp z6T;oW3zSS|QNY1nEt`FZ#y^Eg=_I~KP%a9!R+s+Tr^B0_)4Z^ry>w%Dq>ESmM~>w3 z_q?x9$||NG%Zr~xFg37}7Bb!vGOqc61nAgqNlPKrJ@<FG4kv^7IP&^rNCvQx47_DY z7IyonW1AW`&=$C6oMgg>R|*07)y@MRID_)wevP{|yCW3D^au&pL@;35B`6|{ayRcc zATZG!-U^Orq^R3sRFBX`KafAl`$4ZxTW(EwxvG{RJ`xJy(|zC@iMdc05Y}!-JW+jn zcc9qYo)8}Ecuv-plw7HVGPs^5k>2vJ0;<e#NB>O<V)}0^TFfkL|Kmb41#8WAbL`)l zoM|?S3l@He-~DasVptHwF3{kqadiuFS~gBJTx9w_zPe9Amn;i~oQKh5Syf$qMR%!& z9r;rwi+8<vG`M4mJ?ue^Y&DFQd=>%9m0)D1P2KMUr79+JkauF~`1!D@ozK=6k$(p> zZM$V7hlygAu#Ly+VAo0oZ}L4hA<y^gBkfAQ>~~4P_P57JU6tRaJmsjCp9ER4JGn|F z2Mv5nWX)Kz3A^fOqpW9F6e_;=*0n05RHD{D9DDbRot1sAoiMqzpAfzHsz8fzwbI}a z84}#@SItI>%L=C2QEYT(2LnCCrWyeaJ;X=Jndd4JK<EOYcKe(ze~0~5%N0|PdM0fm z$F$*evh>=dfM0cJj>%`B{oep?=b!JTZ1;qkSS%mV9Wt26_c0k=(Ce|l(&HzEzQ91z z256xtDp=nQGYWHvZF?$9)o50xg2)kh5f1<Nnad*>xG6<H{leza_e5adQ!+B^+YYY0 zGk3wFWkPPI>}UA00Wm0XZ=H*8oQdU{46N?7b7wMM_$OeSXNQ<G`3v4?Rfx*sf`HXR zdOuMI*88yVsGy5Np4?jCn&oK`783^&Ubu%>Fs%(LN<<Cx0DL^s-1SDvC1jZ@e-m0_ z=U-zp1~T@^OK;tGi>hitRtgKxOJjoTGBU|=<l>OZjzGJK&+?)i*Zs8}Ei!-j_pSps z#iZcw8UfYt2<Wd;SwN&;2nYp)VW6d<)p#@rI$$%!6YYQ)Af<egSN#Qk=V*Qb>mJn3 zqktU*weZC9T@3iZ@--rNZ)gV@WN_MlY^+zSrYQY|$KkG<?icXFba#C=@W^Ct-%Plx za0?;Whw5+iqKQl<v8lc=*am*qKM2kmmbyog(*<G&tfv}9!{OqBw}T_Yu8t1el?8#e z^uST6G(tG6AGH-aH&hF9iX5s+{dw__amC;z)QY)L%9kq3*Hn+n*am8rDxu<QB0&Ce zdDz63ph{QirvC^a5ua+&*hUFCCwO*q;_C4WTF0G)DB_nJovZagt3m9TpkWnf&$l;) zF`OFsve0GEDal|zaj<3jPod`l8)Z)<vY)b|ALOQ60g_@v;NlF0g<qJ?2K|mWIJze$ zh#(AFS#k%8CubC~aNhJSZAhI!s)=%FnX7h=q*v3VdKSG5n!k7$Wn{5!nfFezzFsQm zFIE*7&#{t0vsx8QPq41o*ghj@emsVf)Ar@V^;#TIOA2B**yDsvr*Lz0!d(fLB4Z&8 z@X1jbP<&>jXe$DxikT5$;;Z@?JdwZET+qA$$@t4*1Q!qxESdu|NX$9Q-o5&)dVgZ% z+j$kE7Lj^JR?l`Nlw9CNa*7t`H>>xW2(Pis@ztYBudwGPF$_2E88V=OjHoY+Nolj2 zHJq|oDqVzXU@E2BCorr+6Fz!qH(GRf(M{Q6EXhC*N$v;#vC5TH#+%ZCkwM>I4-&tC zM>Ht({+I(`uQvvCJwpM@Lb&7Rsx9FLHYAKv>EfQ&k5RQT%z8!fcCJ@+h{o~S>^s%? z@%?D#+a^E2VSyZfK#ZFdP0f%wPm9_33TMs6vrfFdZ?fUU5!t4=(_s|jdS}~1*@&cq zVAVLGs*MnPuc#RXoV%CN5z!>l=QR&gCdm>q<G=~2J&3SQRE7<lcim1mJDrTu9d{h2 zyGYTwD07#zuor|D=!Od+P<0Yxn>yh>@@^{L2wTM=5f_@jop0*9JwUmISn~%l!+yJY z+nLY2rE51bSWgh|%#yvt@*_rP#*G7h1t8%ksf6vBxY4&PY(`VEXin)fJlv%h*pPc+ z5tjgQWEY?u)MJ_Ip%3zf)LTLVmloJ@f#>84)Wre}_N+73P9+}kz>luyTJVeS<KRd2 z9!7!kJ0=XyF2Yj7aNc!q9aq|R+p_LZl%Ux3DT<#+Z^PLQnXu-vKckM{ujew6{(2iX zn7fkW7nIk#D+A#J!%#+fxDwGDjc5%suA|Sg@Qfy`0iUe5TG+i(fZs27pG!l>a%R?= zMv{X@!&ylS3%ha%3v^+|?RhX{)+#T|*~^Kc$HGl|Q(z2^ENle*;JWB~b8La$X({Z9 z0d*S41B=R08`z*kJIlG47!V^X&mIBfu_bTyw5Vzs5~J+|+AoHay+s<0rAeKsCCkHX z-~c=0_g<I;?E`Ko$cmz<EC@#)(rW>V_eR$S*|LK`=qYXS?-l9xv{M!3+btt+aQL@G zZKnMMh8lKznM9DDPoxFT{&6qd_4BQ1zn(#SVo8h-&5TwNC7+D4lBqN_tgQ~Y%4{vi zJD73=gKkpbZ^XYusr^?hK3!-o4iGjU1+RrJ3ukPS1J7<llI-<E)aw(VzxfJF#6@4c zw>g%s8_FR#jI*9cI%JP+ii}8&J`dAc^Ca_E?)Tb1Rz7XPr?yw&`6-GQCecMTLyzni zI;YOg`<S<W!KYBx&seiMr%|;wr3%oPUJy*S4ST<}k+{O3%4hc9Nu>)qeK-uHs4;q) zGIkF8KX?XR<S|?;Ive>oPajUbws82Q_`BZwK4v}&k{*~xQI;3-r2k<M>AT3vnF)K9 z&$gBYP29PripH@Xl=QtX5&>a7obhP2RGEQ6_U8aNtbij3+$s=X9Oq2V3e;V9BGmQx z2<&sBTV~m*8VyO7{lpy@)r%ONUUbwD&_Fj^p^L9rp>$hbBRwFs(N5uqN?1lQ;yF6$ z`^?A`GESFOwEe1T5ov}|%ZwA97Y*oRmFEnQ#xQ7i*q=K{LC-O_xy^eM=aEST+wx&i z#Lq4^@g|-`Qyd&zh{S<1v60U7B7To8rGPhP+hQH-uj({2G)jCE2H|KiSJf<e>|J6R z3&IDo*T*N+U0TdFsUWD!uW!UlG*b@u0YFKfBy%WtgxRfxLq!86vHsbEUs>*oV2P#_ z)5g$qS|^7-ULWK=P%Ry_+woW#f9P=8NAzt4?)Sk39M3O7`gV-H*}&AM;-ebs8bFC0 zh7Q2;bun$W&A`E7o(=;d;C25vdf1BP(|Cs6=tE5oZQWhH4Oo?MY~qDE<Yp64#N+^$ zS(@E_y^`JTkF1G#U!k3ylNz=a15~U@XOJMz03saho`%vY6_4i?BW^*kfW&)&iI?oI z|1N%U{HN0XKT3IKF82TM>;B(M`5H}`xXpIt-Vb%w>>#!%ix|oCv+Qg+JWi-Upj<w% zZ9a3YOWOfUDP;1Q={|*?^51S&-5!Si7L^)w=;NN=YRXwq-;1T;>={gk$R}A_XL4kV zb#}?ot^M`7_MdxqQ$qkz8&xz6r2_W2kCJeJ<pcTaoyKz!{&nkUx?o@5#;60zXA5mr zCm-Y8(20O=_r^KhZ%u=1UyskpECIf0JK5%M_>}kq@iJLERlH2jr9zcVKmjw;MX`ue zo18NK=OQ6Qom6T)MSlNNuE9bjR7xtn&-%fy`Q0P=6Cn=x?y~nqj%Sk%o*Zyvu4Olx zQ!TU0Fa*uMr4$$0J-!3xp<wx9R&u;$zUZdaNzBkz55v^u^+*e2%JuV-)=@OWYSh`x z<}WVk!hvt6O32BRuU6-!Z~FM9b-f1?*?o^YFOxNE<D4)th%y7=lv}u)eo>`c9S-<d zRYiGYx4@d435b-D@zS8G5M6Kd?IQd*6Zo-hW{2~LvcMX3*|$)hwxFu6RLw3vg~g(# zsay;9L3y&dyKQnQ#bvp-#s27&43!mv&9SPzrRF?I*FtyNAU;_+uJ{QHg3He56UmV< z3nCZ)eZ5U{g=>NuGT2;6?XH_sLBmc0)4eSWR=%fl4dc6kJ1}ds-`&v?t*rU0qiaak zjK2bBQist3nx5C+jf+G|8s#kS8KY3{{gM76*;=E9P-wmfoNWC{SO0v_I!s9lv<>y^ z{iHgnH^pUa7}F=%V%2HCV|d}co&?3##v@zNR`wt`rr9axhE5{$9jV}3aUE!F#8x|H zluy*eIwN~oh@asLtM<tai4Y#JNKX$TydcqjW#Z5I;-nN1M-}x9NzDd79e8cOwV;s1 z3Q9Q6iv=q^oHvI9O$X0aNCs0tjg~O8>bleN??7jqoxqZ<=v2&fgKVe`KbWlY5Qk{x zbr-6J3x$2pp*mk9R|<liJBX;pkqFvaJ30?hF!B!6<_A!w+peAL>W_eYZJaO1kc&fk z6FoV&?wRm5L6uJYO>lQr+g6D{NC{~426%%OV-hITYVtd%s>QfTBv5fU-*ybPnG`eM z+Y^l-pGWpRuk=>9JxLY-ouvxnMw4yQyW@@-^6ux8;lMrZQI&~%Uar+KJ2@D0Ae$rS z%}@p)I9tWu;61p=jnEPD53MD6-sbPr9f5`Kyp`PP7l(*as$1-7iI_-)zO-M_LyGFX z5RBKEq9!L$p4IGNqbhl_iYsZD1s+1=<L^=2c(n7zol;CS#!KFl#*VSD)Wb?5C)+DY zo~^ykqUoOUEtv6$cbc#eeJpf5F*1oa3qfsU_gvQg!Y$3V*$6{4!KG(9-X9dCF@<qn z7mgf63$Or{f(I=|!l#EJm<yb&GdZp6X~vUaN_<N(2K3<>-inoJi610vx*Qb(fR#`2 z7HK*Cw^rd9K2OJnyfm~2w~6>`(lZ0Wk~062hKI2=Q3)sE%qYdu>HH-^pyOiFdi9+m zeRt$-JsPjYdH+3N_V{Cc{&g7p_oM5(rkhf~mr@BRY2PEMd|_ynule~6I7Fa2R~9Uu zHRI(gRbNo=33OPC^UVxaquBM}_I{{(>o>Vnx_&|38h+PwL%Q3ao6Gl~WtN|1!^(N; zcQQTLSTgz&rTp|;S*B(m4rX*k6l`b(VY)*hj+iep(Z|qH65o0MM(P^irM~=sn#VtL zZ**D?6XXSrMr{`mp%=wPvNOkbmcOz$gM9<<G(otcS$}jqXbT%jV7>!>NiYFxFw%K+ zr_FePiqDAf!5}*~P2Z&(q0}7=%*WVcPaG5|NYc7;Qp)E@MGpgOU?DUk8b}_5g9I&b zN%kid9Y%IL3g1951e1WkQ2@#^#)(01a<3sn_6jSoFM1nfCODb8%fzk_fEe&LRgBf| zpKR_O-Fxku36JqK$7&F5huw9`#dxPlS5d&lk9lEcCGbYkrbn$<(#}auSDx68K#^n$ zz*h)O6Q|MtcpCv_!XxgjPdU>ErjkH=h6YDp`=itqN*pFnlEFwS{L4Vlr4!gA&MqUx zx+<MTBTY2U#Cj3)YqSYN3}(Y%D*D<Jo-;8u2!k=BO=jwCX@U8)PxES?(6$LgPv<XX ztUrr2m?y-<7^0x4$dlY2lLm875kW|%IPI~2Fvgg3=y#X9e-ZyWhG2$l@^Ak^$T#|B z?<Yh^bR3HWC4k4BmltXaVo!-!(v9LqEoM8j%q)>FX7Z(>FE|Gl3r){B2Wu4;mbecB zH_Q|f>Pfa+byZOf{<26PLX=;-UoZ@5ucP1KYVvj~*&7!Wl_fd|*Qst?uCP!a<F(z< zv^*4;HK9gsk$&_xdP)*K|JapM^}n~XmB=321llX|<qO!hv|T*}S*oK*Xnp<_`9+Mp zW|rt)dIP0nIl0>1r*oq}ZQ#`>?=gHM6bLF~SD0Q}^acr}pttpjbqrSy$%ldJN09$I z$yQ6te*f(=i@gwlj_LzQ{ro8i2brM~+6s`2sTGz8FpBK4-uw>aN6j^bL<gunqY=9H zorWMp^ktpDagM=i_B05|Wh}cOJbLkR4Xd{@BLD{$oGt=f<0Np;VYmWE0xs0aul*AU zIXqb~8$RIqPNS<OT=Q8G!*Op0vJ`e|9QcOo_3i+mupxlB#RZxWCYqpn>l+i0-Y8O9 zM`F2;fU)wI>Osm8Uw&C+MVKI;h6*IrfwJx+darp)(-8M)g~=L(S_jv8TIu&QOttEQ z`W3fiPYOQtL<WcwOa_|b36BHskSjRqm%-L1S$~Fu9w||ULAsf_ljFT)wjE;u?r>ya z7a6*n)IL>@4an;>gsxq7f6NUpRs^avuj)<D;)?{iQ}bT{M!^Hk1RM4Zkl?^zuEF zLi%vm26@hHba+Psv;%mLliXb;gaXrU?n&~|#?I(z6$0$rl?Fo5E18ZYA3@#9DN?;v zI!i_sNbYJHD5A83^LXpM^Xc^r2nrpFF9Q>3wmJBi(pI_IOy}7X3bgdB3PU#OJ4#GF zS7Qz;Gt&edCM;uoP8447K@cieukG)sAp^PFf2QcnjC6Z8Un#{wAT!y!Jh1vWRa7{F ztwoTmiRA;d#y(8nL_LUu?D>Ejq)}ui;dJMHEt~^wj_4?PT?*PmvA~GgOVMGq2f8Pl zmgqvxcjcDQQJ?sjF-0W5-MfOK^~j0gkt0z!$AsCdjDGU57h715-M~X-+5{v+jUuOk zyTUaXUImpcRbJvb?dyy_XwiTTco%_AHLUNXM;@Fr19oP2@LkJiKU)N7Z#5S0rAKlI z-`BvUH<{=;$3KxGK)3CVGig=OqkA_Xjg_WhYJHY@n^knIT?3ZcPko;U#hbgOh)QEz z;bMcoR#-yxbmmE(3C>%O?3Kqj&?6pxuZq#(bH~lxHY=jNuB@k_MvR0P9#q|sdQuBp z_39FMMpvCw>d1Jh&0ML~)b-^8f%oMaw9i`*MHbPv4E6%HxmQedh~QFCmn=P4wn=GK z^p_-^tm1--n={THlKn>~QeR|F(eyFxIYW-9v@*g}2u#Oov63nUN8v=$jVbLO+G80F zdQe}FgFNUBZVV(8G$~XqefCe9f83yS+Ox-1T)C3|sP5%>+toL)b~_3l_R(?OJ713$ zKQ2+9*b%&P`aMv=Y+Fx5WBHX~e8s(;86>b{dSfb2s`0KQLFXE0-GBX#@J9(N9-msP zPDW2jS+>%a$~G?NW+>`$16}FG>4T!<FQywT1GN7k_m+U%(Pim>kRwA_oS`k17Qzs) z$;KcgP#kQiZuj5)qaSmSp0!)tshAtb<|5^tu741D2(mc81N$>Yu6~lj%#f2>lCD0N zO+8O8D9Z%6q6A<u56G1pTvIm7cEhDrgq55{&)Wa>9l&CJ+G9#_RS4Kwx)ZU65&Bl~ z8gXh&Ouj(%)gRRO{yQfwJ?ICl2$cr*-{gE|*8iIGnb`l2to#3-^K;Z?;x^ckdT;6& zTf@dIhS90dTlh-i=(WJch&MzMAgERfZHPVFNm6103j2Ck@T60h<y)yRG?Iq){@N4l zM8DDm3iQ$xs$l@C<KHY7bi{Js?;=0cpy2kR4?aGsvbuun+=nB}cdI_GbcTI8JPAMR z)gh}sT(AHRM7Aph$x^qaDyB=<;jiyoac&oiCW(Inbo|<Xp3ciYq>M?1Sty7BEbI=` znw`>4<L-3h)p~ZFrE@kBnFsyXE4+%S?0}ZBAlp+1N{}W54|~?%9HXeuTZ(DsRHq5B ze45iH2?4tD5*wN`EzP9{1|cU*kVu)3o+>tRxtf174uZ!`65X}WL07E@Ysq)Mkjdw2 zn2#_pJ_{SEOfw`Ufa?^sQJlZXb$S1IWM`iVFRNiu+Gmng#RH-#hnd?3HSeWfN=Yi= zvUP{;={1IntXS`(LMgx}J=j@PDM;M0h$v9-R9ldM)#gX9Q%EuE=Oqel7|p%l1vGCR z##139eThyx#UK=xZ8$EUAA6Mqdg7AMlQUlfCuWOg5!6;Xy~Q2@Fv@_Mzk(D<JEcwz z^u#r+O358Pht9yZ|9Zt@Ga>1@BoS>ZP#V;Pc0RDbHGOXwIW+Q+?f6>+IHt5sHO&qR z`y@sr2a}j`ZnyfU44vtm2@GCeD~eB@a3}w$vH(yICEsfrwCWFE*2nkjD{U>0h;ODt zC7rK_OkV(Q3rM=b%FkMCRu^j~56bo4dj*4sE7Jy;OcM2ypB0m1YbCL=CbFQn1F+Nz zp5>M~H~5Zg4RNf<4)K+WnkC7rXaElr@~v9COWmLjbzy#^UUeFCv$zf0T&r_Izv@U2 z7xyOcVnNT<>FRT3Nn~{DH%Cehe}PhGXk@r4j^GzcE7919e`hV@UOz4@nwUgI5RC-& zz!`2AT0#uTd<K-{CE-nPk#0+g{t>Us<2o<0bTSl#5E|jq?Do)Q2>=cP%M=X~X96}0 zvi8pnF_0)pDWp-zE?FOR-!w+Y7!fqzSx#!gLUv*-!DaW2U34gSDC)a{c+ylQJ3g_{ zS`7LPQ{bR7%fv9;xxO&0WQdG*Ko7KYW4EMKq5(=J5&8fwYoW@n<qkay9QK#%X*yuS zd|kd>R2y?2)+3GrGa7a$+i%TCVEPZf!i2S~mny%E4>v9JO0$K&MyGa5mS;bAzwzS7 z#6r&{efo_zg4F_B=I@^0p(e-4#O_|4m!4|ps5jdwYX>E0Yn7Gk<&h_pMU0|>iJIbi z^hoTLIp*i~`5Lh5Dw3H!+f2AuM+8i4RJVBX1cty|&lBi<QRm8uaUeFQn)Wb6WL9#+ z0u1bLbjHfE_QB&5=P=?yu*kBUGKa(Ofk@by*tCse+=U+m#A2*RL~7h*rdt*BZLD6F zhWeIrntQ-%xr(`Dobi2JR9$@yTT{rJZY)Q;Q;&fc3@u))DWehCT01vAEfDiP&pu9% z1oI4@3{jdoV?RgTVpf!^aR(|r2c=i<5c09Z3zk<se|#Ev$_GhheU5R9<Ez8dazA`> z0Ld~yYPi)#)S~$Upl~*HN>>DOLifo`f?LnJBC40<qYuxW%M$^~f0`=&@)tqn)inc^ zZ^s4UYXdduG{-srAj_t5s<Ql>23(*qV*H*GzewQ7X41#1%Ztp8kvAVM0$qjdUuQ8k z!C@JQ3Sl}y{T_RY##RX7Vp-+>TNvn%faetG$SC`?KGT|^&RCVF{Dj~nmaBZX3&Lbj zs1?SoIlB-I06kC9wLAMXTqPEaAmOVJ>xAXk+q9TDiwD6p4#t#r^G{ji1ds+22w0K= zd(nTtD^P26RCfSnr98=5NE|T`Cv|Tj<<|-rWipEzV0SP40X`7hXZ~lpR!c3`pUVAz zKKPx}i{$>ZD#5Ao@oQ#%{j6y&)_{o{Uehf1ZI|*fXx(G<@bW@gxIkR9(|tPR^Fe2Z z_ppL7&o9|<)y23$FqkI{YSm?Ts7)!a3L=IO=bSIAmd_=lb^b~m^`wG&uLY)8zg}!% zIR!_~Fn6CD_0wo(LY^<`k8!{t3^2YS{F3mbdCSXw@k|;V9%%o|auA+Dc5+lE7u&qX z{Vsf9y>`yb92PG2M+GM5<DU@TW{>nz$!qJP_#!-+K5e>=+Jcxo2Cg-B_Y|`Qb;uch z8tSlP#&PAeN@EtRi$md7>&|V`kDc85&%taLn7p#@f!7rG=UvR+OPt8*e9L_@#NF9) zdU;lB**QPpNCpSH|L#}!pW*8NQ)zMj&k>0l&8@hNc4WU9eZxo7Bav!!fyb0K)*eu0 zymbOs{m2VoK+0JQ(%QY${T039quq_SQYs!7bfi%L8y8s^%TUG+9CeHIu0qX(NeV7% zTC0Xy7)OMnK#$V=dVlbg$!H$o&gM^iWs3AZGxgHB1BdBdyY3gB&uZ7gZr9T&7HWpu zMNEsuV*%ect<v+`<`SSKGS^{I{D$!Re#o<ELD*EO^ZV$o&aT%FuT8$?JJOo-fMw6I zN7<uV%~Gtry1s!qHH76tF7qsdlS(GHk&Xz&slK5hLmVN$PtK?cG)TiI1H2_P)z4wn zVe)FFMM=r)x_zbZIY{8K`(QJ_zKF)SL}vRA*n=8>3G|0xQwy^{hFi^xb1CK|wx}k5 zt~pi<ru0mQJ%qrnb6fC&Ub&HoIU3*oxFbz2cUR+nEKDx2QjZ-=v{Xr;_{#LXt}r>5 z#&j30dP0y(na1_YRm!cV0o!a#*VTe|4F-`kE=GPp+#Zd32KU+4zz<YujynjHgA@~% z=3sX@sryN>4Zu&~YCl`j(oYv9M<Vg5NJy(VQYrk`SPlEE?Q{&<Dng`e`o>!VW8fM# zlOY=pWmdG^-iSA&<7Jah;yDDX@y|VNV}Zy}!7eqc>dPShutxp8*&<|2kwzYYhMMof z+es&3=L&ffrm6M3!BbAvIYf7iGqtQ}t+IHR(?a}8iNRR!x#eR5iBXy)DKn?LD&M25 z`5Xy@#I@>}4H!iF^0m9c>I$C<LTv2yWhRz0tJvf27aPUu=4j{GZ+|R@j6cD!g8s<q z0W`9+#DBMBDH!@!*d}S=K#`qXc^?h-IUKt41j74VY!(<1{PV`4^^p)Fdff1}2VQtv zt-#5Sg8e)ux01Y4m&A2(`-?rI1Isj#F}b^dqYanMm~DiftjzE-s%zw3s;&9sq9vTa zNhSw?U9UIcR>y&C#*k^k97Ya!`rQ{1He&szdv4tM#UYf>jRo3E_ol<1?RS?nAC0&2 z(%0K~?uRfxPq^3c`9d{}Xx2cq6Wzz3(h8{LWpAH;HUV<l9ml;ppdTNR#jC7D{d{3l zU&`&}^P?REpvMS!zb%kHNjY6o4~hLdSSllOX3!^4BF$`%fxs*RCF8DONCI(CEH)hq zZ8HEK+<<}aCm_97Xm_gMs^V@*BWb7&40u-#`<qj0XBqopr!W-zlR$On+<dK4O%@%p z&+D;1!&WLlE#lYAlZfS*aF3m<EOGa!zA{Bd-g=5i1_?BjJ{9NZK@O|o#lf<Rwjzv3 z87r!bp}T_p=SQYo7@D;9>%|>!eBChRtne&|((qBNxn%3$6=c1nmPxR@Xu=S1fs!3I zxEDPYdy`%y(?F=q920^tp2kOOhx47AGih#&*>sti{F<BhXEX^=?zeL-v>kr|N0dzZ zU&-9ivuobVjoK50JtkW~=(kR+?@n&kl`QS=3AP-!4fWC5xnmt(d+}ThL_wjfo$20S zCasI|Iz-B`chKi(bDB5wFe%<wmks(E`%QrkLxDU8sj^{=$vosJ2CIJV^*~UbWZh?t zV8omZ&MAQOu`eQ}+YV9pma$sX0MzECj+;hk?BeJe`N}r9|BsFGi&+EBd<wWKy8(WH zJEI!#lV^6yTjfL5R#u)Z+5v{*7F7d<uxTx7qgbt)>VPJ^p1Ie|u+7$+rFj7>(fdE) zXQ@L0MLqOMXH_01k`o=PxpcQKYY+r+8Po*NzZq^Zg4I<WOb;E743kBWf9t7T{P0;O z=9gd)Krun+<P?D!I0xU4G6chsJkI=Lg4De<_2P_6<kwHVP_zPYdO~xyb#<goE~MBT z*^c5%B#<gGkrj+@wR8u{_^v1OZ<3wN^Xl!tn=HNLQS*u_1LWq)!C@0PiopFCkyaHh z)%noTp!z@ZtLP7ztiTcwIAI-zwc%<vzheJ+fK!F?qYa<S$d{>K6~C_n%KMPQ^-toE zI!$V0*fYI7AdHh4)tJX6XAO}KA`_^iPidgr%E-=VykB5iD=Kt?10EbE(a&n2=;d?{ zEywZDa%37s;DM<PUALqU9n)lQ{H4GK1;1;#vhMkSOhRCePRY&WK-yC<o$BzcHgQQ5 z;6Jb2gm)?32HP$}un4!Me1TKa@Rd&db3F$T!=^uuWG;S=eO0_JW-e>`CYoO>XQ;D) z@$^$p{H&1CTuRBJF04~O{lDFS>8h_70~4N!I83bVklQcHSTOY@ExO40zuF;CZ-H-t zmOBbk_U<A;cnbL2HH-C^EJlAV!gcRKT!-6ptwRiZoM#UM9=XX2e<fp?X&GrapYKew zT?O>$+vUgia_-3eT^vEHzD_UrF}?-l%2`k^cZgp$)cu<E4^pk}zuCm%gr6SfV-p&? z#Sq4C<gjh737hqG)OpHL@X-KP+jEFInUaVXTtq+mggbrCE#VkM1MzY+)tdLifN?8W z{~OaS1^j2QxAkMuDGk5j3S#yuMT&}w(8%oHDaiWt4)%DlaT6L76O3|pFu=g%+R<U# z=zX+SAUpKdGc+m4UV_T-m$5hSZwEs&@UcVAm^tL1%G04ZLc;F=9Khz!cU&cx-I`Pj z+KC_mB0@zXTgoEYuq_}tjW6|zE46eLoYon1W|symA{Lqh2Eks8&q((3X~D?sUU;Fy z@)p0hUy$k3VfV|@!;6KwH%hNV-sL*%dAHtkG4w_w9yw@Nw9uVpk2ua{6nGg*;#Zou zW^Ya28F|DCY9{dl>Pd0scF)9M&#fhobeyC}-fR(d$3&idPU&)p_PUIm6n4Bxw;L*$ zLt_^_?R};$#vrh^Jpg0_&gJOz4o(W6oW@#?5#3WA(~hF?FS!7ct24H+WzQ(2cK6s{ z&T(@}o;juDkyq&|8P6CYlwImy0Ly9P1EihNlYeSxq7+6Ah)z-t?wyalN{DV>i|$UK z&<|d^fh4~+_b!@!queDVjC|(Ro+_O7R-4-A_8j5@9O<Si)WSf1l{8#_S9#r!VJZ{i zoN>N1@z$DIt?MWOAjvmy{*8yd;RnhWnEVGPjQI;t6Nc)myCV}ok$2HpY2Br*(+A^l zuqpc+g5vxKjbJFx{G=ha{fz$LgqP-MnAimuXTI$T+a5UBD8-C8wr&LFTgP9l7(?*B zeOY&er-2!Q$lkxis9?VqZu5QcqnwCqGP<WU?gt)(Ai_yM6J^;s$&o}Uczo~!@7}b) zx;Mpds`g|PXlAzAbL_CPK{pi7==bf+cArfs&^H&ohQMP_WSd}j%E%>cJzNaS&r!Eo z+_F{q@r*8GQ5%ybE@M^MqImAJp2AaBYvPiJ->ZP!5)~K#*bF`_8{yfE9KU~uG5mS| zc|VHg{yENTO{nmXXMAb7(|@o3EjuBYMb?dj+ay6j_OB6t&G8$S8tmG0mPW$bNO}$1 zJ_1E>wtVy1|5Hj1MyF=IaA)Mn{qm93R(Mw^m@3+v)P{GtKZ$X?5#N6o&&(3X^cFlf zp(!H0Due(1!5xBhWmzqdCOX1Ef~ii)@l$&*(GJ5(D(KhtI&6TJOte-l32Y~&nq7Q` z*95pUZW)bB2KOr--u_g*9f{+oFtnoJQc6WmP!Bl@MoZ0udvH+s&Wx;iK{UYQcBj|Z zwyP@>?1nxt<_7#BkWN`Nf5R*Q$DsyQNjRK~qY6qimM?J}saX0$xa^>@i8`tf?3B2j z-{(eIQ4l*=krts^YZ#>mP@Ytnzvq3^x7XsR{jX7)mGeKhM*m+lG8@PLi*zwFvNHcq z5r!U(4dqQq6rY>AF%J7-jhapwT-2t4bc0kV)MuP-jx4BP)h+XyR8ME7di_31nW+(H zj_83dM8$LEZJL>iYUwjkC0TAJG8H&z>=0t|ApMGbQKNV=Ff$c7Va@1J(ZM28>?RFi z<q}j>09g$gDy*`wfogH`Xt@-2)Lf!tJs!{e9-s4DkHOC?y-7UVt!Z*Lmf;xIC-f-^ z0x3!((~tbPG#CxICMX~EICq#*k_enQjw6h3F)83qkR936NL4l>FdHRVc$7-4;uzdm zmx%%%gVN}q#FczMSWKCYFEl##&Hy?6*u>yToEAlSs9K!6I7AoTC4>kr8m7bp;yhDC zI9*t#9Jf4-ZYYK^8@yT(3-IqbKIPPa&K6rEy6kndI=V%ChB;x{h_?VHK@vE;C@>*x z*qUI_Ao>K7woxJ4BXtBV>Thhw8dfQaQ6}fhE#NMV12vFaBR%kVph|lfBgxS%G8{xj zHt1$7hahmtacVG;;=|nmWNMY+e|n=5f5~X<k_^dIlm65<BXldFE%NG=Ko?pKbP<CD zI`Vj}Ns|N(av)V2CRAuxX_iA-h8Ppg;X1fWO`u}BMl<9Z$9yb*WoTST7u5-p-E`>$ zq$q5BD_7`e=rnn{Pb>7MXo?t0;lvhTLwcxk4^xaW3)pvU>~feLDA6*>4paWYz7$!- zDUyH)*T#>mn~%m^6~DcT3D2FU$E7yiwZ%FLfgjlg<IL~nY*yB-vaO(=zTQH8-;Cg} zmbTGohMDPa-#u*wF_EyvchiOE<heJ-pNHw`11(JjOihV5vEMU3LMOd_kG-Wm2VbBl z$x9=zRD^73e@$-tYFl-wp$;|W@N8W5bX9Wbd8Z~O+*Fqr;ZMZY-n;GA=iN50x^dr+ zW>t2~T*9nLqOyXosJu7fY_89O^3rs7^cJ#8b5kA);5|2%_+3SQD>Xe98DL^`jln4J zUr6sL?|`v}O}A~-;F&(L1<ey5>GL_ph|WyV>RT&1yd<hV=hT_0x^l33C<iTg#@eSo zU<mP(^xQm{Y5W%KeL`Q}r|z4k?bF@!S(|CBJTK1(K@V$A%SM|XfO?0xa$e-W>;yj5 zOZ@^Ty7tuQT!WfSUGQoWW}g{t&HBeg8ogq`LiN#ik*B~`8}D843yOL)wciDsu!`s# zl%XSDNuaey%|@BAjM#1AU(?l>5!}5lt%xl&itSEl?-q6xUl(Fmf^<2Ch~0M1CB>{b zCD)yfORZ<e;?^`Z_4VT(_)5ObK1~&V#+6MfqMK=|*F2*?U@&Ow^WqHoSfydgg-mHC z<Fi*FY7n={q+4;-bidrw_1*fpD~SLm_rTt&2)Md5bp!`yCUA)L+<Nq#{p>q{T1zw+ z<`vVvtZK`wQOHdkdK#O#*zeM73dh5EtWSFNuD(vzbWO-*g<5RSR|0tR+<aK$PNz=P z7h}Yzi5`Q+`V*D{>ayL28_XjM?s>N0d%xOgv&hxHtLjMhu?8Cy?IUQ~IOB_gwD-E7 z#=u_rYn_HoH;+ln>YakhJ{sao>5Hi9#LYd*Y&e1Cx3Bt&V8Gp-Jzt#oe)(u0DA9>m zI?LoO+<+EEOMjv=REkT9NjDa*+U}QMg4|3i$zc!Kaolun8*b50E_E;}zitnArY#vZ zzux0iXpvt%Twgs{q3iniw&>o-D~3t0I{))UyiXcI56?`?1NHab+_&mHR~0_9Tb<;_ z0=}A>9#HY|b7!}S@!!Nmr0AAo_M!fMHI@x^-l`XU*_AEdkcs3#`gMoxsA{fksc*l# zPEGGLw!*O;<vs^-oywL{uE;1XysT|1ltRG|g9Nkxn_eC=c^`<wyBq{(l*NB5{OfB| zd#Vx*9R*t`b94qqp>--e9pmWbvemy>W{*B1+a3{X+=#Qlc+cjHcd*3yFX|vY=!Oq$ zn|ShOzwEtiG=4K@e6KfyM@om2^B?&?<nl+b#t1j<i3V4-OIw??=Si9ro4_>id8XIJ zZC!EocX$R^VM<}XM@VXIy2ivR57CR@K&M$h_7K7V+4Uu88B_O_Tup)u9tk9FLRq3h z_qvqPC~sn6;f~DPz=e10WdCG6DS`U9cp1AJTEZy@$orETIoo@!$V&)k#3*g*%;a4m zeI>Iyn9S)Es7EWaqOXr8tb+_ieO0hRT(!@Hs$BDU1SpH1R&j89Z<vh48R|~N{6-lu zrwb89+B6#>Dt!Od_wg8kE4l5x;P?5U4_1ZHqt2(gboMfammdpO23Y_~7=nmLGjfh> z(;frxD3{%7lk>f7fI}nEQ7fh7+$FI62}742Yk?u(|MQ#5)>PyO`Me}Wf(NyL^kjx< z^_moXwo*LeV~0hM^4I*P7pRBLD=czl&YLX+)Ez5mZlXsfaAL3rHt;4l@ZTordhW<! zc;v^Zh<vh%8qzAoM;&Hgh6Q%%R>r-lA=|?e>w0DJh{GFIspQ)gf)bLl%b$Uc{_*|9 z;65@j>AMqg<dNU;%H@*WZ@$9ogyQVH50F*PPo&=GUdXT|dd3CGGo}SPy8gxP!9E+Y z1o$JLN6}}czyHuJS2&!5zAZq`&f$X*{&U3rxH7!^zLlM^BI>?cvBFQ5KYyXAoApA= zHr1xf`Srv5V<VTfdl@8$uM=wpd}OZwjh5g)<=c%=o!J}jX*$&|-Ap(j$jF^aGRdKQ zUgOo&O*i!fB>jL0$7n?V*QmkH@}Hx|f3$Witp7hQsI;{IT~J~Cdp?!X3^N=r8a;u; zWt_jo0@h@1%asSTIjUKZtC4qEJXJ?(+WCEUr}so$^WJ<t-yA0?42|K$`(&bA4eX~v zji6?p6TvB|CUPiBvYb$l%EHEA(2V)uVFR<SuhFukkTK4&rE^Ozt$nL@8`AFOnlpLJ z6BXcq)Te0|-7v7x`o^Su{Jp3)r3L=NX&E?U+xu$SGsmtX6<_Vw`E?S-U<atFS@v^e z&%QeelVL`!T)o|^EXAQwSMTd6u*6;EX%f<RUUKMfg%0h(P4{%GJhz#-YE8-rx(NM8 zj@7#0G?&GC*=-CB)V;VY5t{mT;VyH-65KMZqzL<5hTS8982^)3VXd83u~qNBl;f<H zP)}GLLT)-0?JH{X`|J=%A74zJ*!7ta<i0mvWI#>PqlTqY0~Y#YCVtqN4fTJM6y`aQ z?q=oQ%N<#ymvCJw;QoAbU*1G^(wbaH1Ad1rYY04<La8e|zsAJMK^3l*lc{Fx-);DG zG#4xvNJZ-pKW%Jfsf(?_<y3L#dgwoiyu4akxS?;%iZ=W-lIRr+d2pg!5O#QRSlCVG z@GOD4r4v^OB5P;*tzSD5^^Weq#qaf{^t=~TTJ<(ayQEW-D<{#ul#v31EaOQEQy{uF z^Rq@i+k-J~tFfJeheInqjgcZQ)t{th18cz;CROcz_^dI4hr~iQk(dy{UxVtkU3Pd~ zP84pY`cq%GalRsR&>X?l$HCYyiU)KB6_qYXu@Jq}0^dhDCd0vwRwptl9Kekv9vWIU zp`Vscy`i>{@%2k2*0Cp95VOo57fkPSISVQnrAEn7cs53$;;Zsd2<&%kpt>s0bwT`? zjShkBkvB_98DQX)ii-;|wBJ22OWLF#O&HUIrT@}}sn3>JD@W=kx>io>KDghvNG~md z=-v*h?F$v~QSaVvq5uBb^rev(F+O+*9TqBLi67Om9>g~&09Mk+5h(^XQ}u^HMq(m@ z_PnatzAxWMFfEIN{I1asGee<dwn~tk)$KGc70HRK7CKl->C3K^|GSP(^PR#$q!7)O zKT`UAVB}1F<WAD*o=xG;$J3PUp3gB!3DXlWe<Fgfz*nBT#NO^n5>89tJ}S!R=E^H; zmc*6+vxN{0b>vV6s!>x}b(}lybM?;GISc1LL4)Y@J|931A$1Liu$Ir?Gl6+azu-DV zuLp)hZ<&a*f=w$|m?kW6?xtW+Y+QDZ<6XTT?!~rmHAA4`?wUTxza{L*gf8;P&lMqG z=zthcV5932=EqY%oyetQLDtT_YKIkf+-VniTU<N^(}4YLVkG*Q2sO_rwVzSr(6}_z zd+%0Ov#Oz<4+5{%AArc5ivnjkbByNIpLvIJ`J`+g-jKUzN3tvlsSV`K)I7XNg>b61 zcs^Nlu_-th>~Uyd4}x{u>&C0!v<Gspn8+G1NDMhg<u8;8M#Ui2X1>tN`P73)LQ(v8 zy3ycxkIsv5VqgNk4G(~1J-4bC*Pia_dEWu3w0HRmFU8$UuQ1q&WkSx6_a`E4$IfM6 z!lNId2E}=I;jt%NiwQoeCvP&u^UDmFE`z|qIKFsvL<6D450-$1zKvJ4se0}=d1mBW zkoqOK*%k3X1{2N5%F4*mHA{#vPcn%zFxEtUyTRwC`LqjT24RL@Y6;i*4j9_PS!#wL z3bOatS9>VX@8sb$GnRn;tJpYW&jMZ4)br(RHt0Dhdr5|8oO8p`h_cQiCpoKLWiV;e zH~`B*iJiAa3+(%*VZqF79_tv-`0r+F=Ey%Z?~2jjNkS4kK5TQN<GSA#x|8J8TJ??6 zdjUC{@h57)n&6BnJp`-FS$jL$KW}6h^S2QvG`3CX1g97sItoJVo`2%pAJq1iOzhH1 z<m$kID(uG73pFq!e|NO@P~ZWetJW&Te9qvPvYkKIgjI~p=L}o=Ar<oCV>KL7=L@2n zw<1HWBGUn>U`5>z1tihc7oO5L3Pu~4_04n8gNG#2AU2-Aec-U#Rppi-7qpEy*>#w* zXFsrwN5c`%*t)t0CA1j-e&az7<N)1Bl{Ssc9zF45lSh#~Uu=&44d7EFjcq#t24lV) zR3gfAbM3pSGNbhdv--3DiN}T;5@y{FTmjB;7^I4o2mVE%oUzX;ndayjiHBV)S%g}} z`ud!e<t8wuKDgp1$f1PRcmU_1${SV)ZY`(-6UD97a*3I^r_%IPd!}FedVHL@fw+BH zSak1T>Tq89yf~9|z!$8<d=vY2+H~Y(8`pEcQZ!79?&-q{3M;Rme@Hdz@A`d?0Kic} zOA>eA0XLPJL-FAKx^j=@h<ay}=?aT?l2VT@MYBMW;XqTsLG^-@JCGt%;T?B{>r$IZ z!gE9Pr)xjS*-VYN+OHsPQ4mHgV~OxCjFoV3XOHd2#VtbxIv!8A7eqxKi-2;Lm-s%K z+@rDrwKMvYwaOY@$dt9-@ZJ&?O9Eq)oc+hOoBf#WFUP4pO)NdD*{U>Uv(sUkm?85D zTZ4GMm30$xG!`#a<J9gYShDS{QmSC8KZ8dHjAb>#rzQxg_ID0yve9IpjK5ao(_vHR z-j3W%U!TCZU<978W1>@+MEV(45vnYZ5#zW{rqDsS^F9}Qq*TgnZkcoh5`;$zl{q7d zD99^CIGHpf=*Aj1V~Mu`3_75;VYs~AS_BrJcard;koUnlcW5$8_S&%V;XWee5+eM7 zwc@YggW-;}v2udJ1Q98qw&!MZ4~QTT)T|Ihg0sZZsxL7K(MM854;xy?V0hG(_N5)E zq0JkFnFXV5UrK(QH2o*&1DUA|Cq~yACB`V05fDHp4b$s@1xk_Vu6#H$8?c+J_2`5* zsokd=nX=egbc?i3kA?U8?q~nMD0|25Oc<a`H@0otwr$(CZQHilNjgr)wvCSM<c_V= zv(~ILALjY+&X1^CwRcrr8<*mB&l%X*tC&wsr!@oI6?NH;$_J2NBh-<P36r#^2!`tH zIG$vFvn2<jnKypU($Y>vvAeY2hLzXPz-hju>G=mv+FrTWGk<xd2>!lYs>VlxBhRVf zA-OpetA8Pc-p(M#-D(5SzefalGWxeRuZtr@dsA5}epKAX=V}+us-MuzzO0UUa9o$+ zoYkgi!L`@Mg$8sGomwJISO(BIKDnK6<Z|@&AtU0C#ns-poGt%1cIpOrV)FrLYgTi? z7-5ayIAac<c}pb3%@?ZSs6SAxCCfj-xTJp16l&s}t(E3+7ZSRj%BwU<`t*AoR5GVs zjoNT&vC5EVvWIw&;sedffwo^q?&`cd`y~Q+jJdnU1_A5X`Y7}6nl!QBF}N|jp_HrJ z>qoU^0|Z|Pebl?vr$`$ziP5Lu$Nk|z@RN&$KKF=Yn&@8r*0$M9qjaT)ZaQ^1iE<=L z&vczEw#@E60fr<4o=POQ){@aDh>T(9uaW0Pdq`0J0a%XfuYd>F=fzv$S_<$I7d!Gf z)(-q3s~l|}qjW49x^P_ZAon3zZs=b=h%gej1HD6JCx;sqz!@>&PzUW9VJ*n6^+Ur( z157Z)Oi#xn>{8l7BHYMeGDHbYzMwIVsE*98Em>R;9)>&Kt)#*0*frFGrc(WL)U&j` zpAc}8BW*kLgC8@1Wi+sMO<0iuI)Q~$KI(APZKAlzDNi=jJq?P;Ztd_!nKOEL5J@a$ zC`?{|<p)>J)CsV>^OH>2S;Mc}lZ?QfK;l8Lan}v_^V)d6QvW7#VrUyXJ^^nlwlco^ zC3ZyoZT|^T8GQrgF>E6&hBOJZKsrIpckSGX7Rt;ny^Bu@=CuO&h}|lX8juHj9$Ma6 zvT{-L`|S7EwY<L{nC+-!TI8F2QHc0`6#77vnm~)loX3)yg4^=6w`ryv!r~ZO4Pu4@ zJf5ud01N1lv7nG{T!y)$i(Ye`pJJZbzTdCT(jPvgfI*)V+DQr7mCFMh9K-jL#_DA? z*fpTg+DEW$I0D#{Tm#g@`J)tvZ8$8N66bjKE+tUpZ7o^~mbce5zwW}n6H11wUGM~a zhoM6{Ry(!DIq0)lX%WuHgHQM8S|3@v3`<L%OO|C|<J_{)LIFqQZ7P_Vsv<?P;RMqe zOJPHrWP&9#!LLEtD8)|&x(tuMxxH7zYQ(o(w)Mf+wJAY44Zm;c+sKCPI>rnHl5GMQ zR{Y4~R{VhAdpgYx-Y1}Nt%^;jLAA|bVruP(aEk+Z;R6VS*t#L9bbbS0X;=8+G2AG( zyS3tMs<_-sq>Y;DhoIrV#>-;wGI#8{F5pS=mDX(OUoT82Hl?cfXES-;nrCG5Xv<YB zO!;Celyo8&zHan1Dsybw0drzBo%4N{#jI~}gKj-u-QjYAl2$XX?iCys;$ZA!5D*47 zj-LB7K2wfpU1a#X@9x=(1%jtc*yH(8NVc)Eh4M0==*2v9b7yK(<L5yEx*@q5CI}Q6 zGs%rz6sD^*lAUTvg7pxG$}vKNL6<6Ha$YkT@RE>Hcrm?>5T_tWTk~WIPU%N=bW6sz ztM)uQ&g%HtUm+3^AM8Sdyo`{?bIZ2OD=J+>t=S@PUN2wAG>yXbQ=!!qz-VuSyVOIG zh0wqYr})yY#?NUhj2B($%O(HqH~growoU~_#PP&Mj`AJHt0+d%eN@1U_p5RgzRyMV z8!eXxFmHN4?ys*ocWYU3KQpCOhNsJ;pr21@9syrJSqP5*!NBKW`wx;U3pe}!!|#!9 z;#Mnqz)QW>5xGwPqEuPkM@BpI-k?>CPjHD8NE+|r71gQ~YIGB;|C!@WhjOO2{1wQ6 z3G)%Lw-iCZY4sUHSl?M4)D25*D9P;2bERgnl3;I4+3^rqAoJnJm}Xa-v>Rr)Ffzu% z_M!2_L1XvFgs&@`rS8*9@9M@9;!6M?<xXzh7kAvjX=DB7$GGq4!ru?Tkm1hG2hBw3 z@)RJ@`}4Afkf5>_wY=BqpX56pD)+_{<2e~}x778#2HLC)x7<L%?Re>E9dl@r``TJ- zHF@u-7hI8l(whjWJKo*5dY4&6*#3J%TaoE*cx}J7wsMO@r43N`Al&+pM)64;+pyn+ z!>?zTU)rvj{@`=k^`HW4&m%l1l6f5`yg|RMnx$*9=0yUS@KVHG_hQpS6(T@37dl;s zL(a*sn5-$Z{JlirTjd`hR=v^m!r8<3_MLL`Yp%cn;n6?~Ei&cO#UZnvjQlW?cf5SY zHq=hVYb-x9Pp%L`amMg@)*{CABKqT3BxNZ~Fydr+U>R}0H>8>;dAYgMB5L|N;B|gs zU#bO8v*vI<aCKSX(N=nBv<bJxY#yyLKoON4u%G0#-{!_`h%SvZx*+rT2fz9x2y>pO ztrWOw7-+?REaa*SB3tq{NHU3=Q#vjB#rBV+@FYxfsa#!dgf0`hfguLMZHhXym2|Aw ze8^FaEpWJ`$_*1oeA1-N-xu~K&|hhMa4{057U5M<j;)db%_TI#AtAaba>ec}Zc__v z_4Vqi;m$=(pA72WNaEO4lziZE{c%E+vgGcrUn58G;yo7L_A+Ui4|9r+7U!H{d}WiM zMybV-wF7&@ie-YYST2qJo;;x%nOmuqZ^!JOb0^xbX9wZpG51B|8f`mFGJNN-Ydt37 zZRYf$oUx%w<t3IO!(*g7L~sMo%arp+12UP+3}-|zCAm03UN-yfa5FgW{BI$2{jKf# zG)t@!VNM*+P$VHk7G!I3&r?1B03NSLsli%6*Soqh^`TBGo7=^g9*Px_KR;IixMRDX zxt#=qIfJ!t&pV6<Q3!@Xjq5w4@IvL4`cOn&J}>Jn9-f_72o_cm*R^hFW<)<v2EWkT zF>jzTn(E;?p?Ss{4}_V<o58Q&W3@8i@aE05do>t-w!w`o5uP3pZhbCv`l=!y02%&e z9l{;n#P}FRI#VBKY5s&9bhZc_mAuxL?0)!FLiLKXFrcmE@e6xH;fY(uzRvp!whC;L zspi6yaZF_ZWRbDDohdpVL<Le~l5qK*Y<rwUdl>l<9w2^~7g1q5X<=$Bh2~!IQiCA) zYaa{!A$}$Xp;Y_<>*v50bBG*nQZfwzBg|sltqnd!jojE0+Ez5!$V0x^DqUv#9Pp4? zoZtFSL|YGkNd3;U0ufT3F3+Hid<O?Pb+<HF9c(H)Yx8$+J2<l?_sn9?E?ZQ-f;9r( zj);P+E~)*}Erhd9HJ_gZAj?QrnSSF;qmtn9{<i&_(4#ISQVK?B*WLhE8E>x*y?#6A z`USm@aF=P<@4N}l2~Jck5?kNN6ls50RGdGHG2_v?sckw_u~-T8Vq(qYd<a`mf(ssC ztWcyk23~Qz=GqDrY?(1Y)W)fpB`Hjx=sQ}>nDTh{i_@L--{kAu%|+wTUrYvIcwK9| zyOC^gh2yO+c$`}d!gMikmVGJ&n&5-mgRuqoh?*v0Y931v;kQ#f8%_|VY+XB>E(u$R z7KH#+FzA+3a(Vs$gT|>?tBmLtptrENe`m!1(tK}r3K`PWo%kVy!afQai6BpN8{P2< zc7o6EbN6~<n<hIO%Rp5-dXgINA)LeOd5J(J%6r^r`Fk;Z=%fqF{1){c2Est*@ii=; zNBkUNjm@=l4>n4efpbYwNVe07ZI%tOQv()MMpSV~b0O~@Vj!O42<PKGi$g0#{M$%W z0m2)KY$p4q&b-MRhsGtQsw{ro>;6?L&y%<}s2&bfPT`~OA+d=kt5JBNI?SX-tsG6) zm@q+_>)2pK^PDj$Cn?XELI6}(`-<2m8c|}Da>C^tDL`8q2)LR2qr7Tpd}7fqCVC5> z1Ld|JW@Y+YtCr-CylN$p{N!@jZP3F!qWTlbP)HF3@^4uDqlP6y3oVv4L%E&FhB_?+ zOReP0eZ}@{V{z9Aba`xzvqi9|qjoT4mINmhQ=A8y2z!!9y^?-%-HoM%KVT&35IpfW zY*=GxW_|hg9opX}8>8Fx*$aSrZ(DBWUqC@NVzSZsO(8_TlP4qV`}=;;e#EUxjSv?- zwKY=A4DL{9sf>%Cyq;Bjg?cfqObvr#YxHea<Bta!Wy(r$r^lfk5tP*NMZtvi*`fw5 z4L?p2SGs_CP=yV|Pi}NRrxqXG9C{IK#gKvFi?H3giYO!>k96vYtTdYGf)RCE6*KFu z8NN+AE~u#@%XjhU4^B9&1>&_&Rc}9G)Oi@A6rk=V@1XrND74^C!d30V>G0y1SO8b8 zslb#LfTqT?aa7?pp8QH090iY4Tj94;=E%HHnqZx7Ds=-LjV#WaUH@0!9iF{!#J-!{ zMmKYq!!$=9-nvz&^rhO4q|kSrW{VgelVSxM@&jd3ge!;RIp!i|`Bs|O`&eoBa9Y`( z^-z6cP)y$&x*JWz6m<&cqQe84M?A>Qe7GEwa_$aIt>OJp)Mzz_>h;@v=OD*0(hNd) z!dPhYFTKryT276un46uo$XGf)nEJZYGkhy3820EC8{(R(srO6SwgGd27A8f8$dOqf zVU1Y#UR`o^>KM!pr~V9VWwzEG+!)a0FoHr|SGwRHTFz-P0TwnVC|k6Y^LwI`UP>}G z+6b17sfb6S!IJV?)=9@8u+|;(S+!3taL&WwKxHjnnUwve_+A_uU-V;Vnd6rgRtZs+ z;Q(h|y^y(|25p@2&`)!wDE72Sf6zMHniLmSsYuzQ33Y7%@9L))2DZnn|I3k_$`$;W zgPobqI<$NMIQCvhHN3#F7mwmmTp^b4&86_!6Eq*yI)~6@ur*!(qqvX<uOHt`hb2uo z_L6|+RwmA$@*A{I>XKt*2y`}uD|#Y6Qjm-xd=#H-7Eu_U%T79mU-XGsz9So}mAZIM z;E`@8Li643o$*p`2e_gK@LYIR4(ZMH{f5==r*%x=U;?Nq7`9I)^xd)GQ<<1oi2=h# z?u_r^c!dMI{Wat?I?YZ>!Wf52_L=PLVM#v8DhzjYC+a79>KO=sLI>&NPJ!;MSk7#n zY<hqy3;MZJk7EmiR2loDwYTg<8g<)_HX~@$IS(u?y}$s!JOf}R<uY}CJ#2QG$6|$o zw50tpmK9hrTX;v{A|tFQ3MZ^cVG^%TfC%Kbnp~{hg35L)lE~S=a?-ztG9?*Ogr~H| zAN5FN;fN2^J=}W1tNS4{zEU6cw*AzS*mc;$Ttu5%6Ll0FJFDb_pmbVK(-683rsOq! zTU=Em={Ju>1RDaaxChr?`XLZoGyHtPKYuBRC&Y(9869<m+X^+fdWvw=CFA)%u+<VJ z5KKig{v!@(4N|QN=`$X1yey#uXj!YF2mV$KpJG=043X*GFaiAo&HxM3T)a9>J8O9w zi?2lUIhb+$_MX58!>y0ylFAwVkjXi-CGX7#i^jRi{9<Csmf6BNhF9L0etUA0)bT<q zCa@{(qRKCe{?7<HIRGD?ch!Bv5_RSI7Qd4nhB&tfThOR3n+H~4b}k%pM>>o&JpKxu zUJANx)tjAPzpwc^5^klT6i1?dd;OUs)#s$ah>#CAp-Y+$35Up%rFFznfk+gyWI4zZ z^(ynX$Y8RyfIi}0Bn@XH)ZCoh$YhW9%4Xe1Q^8@CywY^+zc^G&_^s}V-b^R+$iNza z{7Z`HGoz$%r<P^V#aQd<D&85ar{4uuPE+58r0Oj$5;9Zt2Qea}X7WE4I{y$(|A%D% zzZW{3EdTSIhHy1m*IXu~e`EosB~fP_Ww1e`U7WUTYfAnResb<{Esh)@lce#|zFyke zThe&SA>eD9!rcH`oZ;IABLYb890^wqFmu-Eo@Zx~ujn9P?xuDf`CbD{wjyV?#8Wmc z`$W;-90U68zr8HQ1j(&)BF;@@u%-sfZEj2_JwzEdso_1JGs1Tr`V1ANQ_$ToFqR@$ z>L(Ic1l%*o2$wDB1*j5^opK?YL&Vw4wf453TBL@G>EqQ}vmkS^@lt~ptqKMR@uYRQ z=CJ%Hb#4pNs<&m%f_W7md89MZl#!8gB-ljzinpoG8lb`@guHmc&)u&G7j>b2D*=dI z_8Av?F?n|!&ALRDYl<1cfoqp5UX0Tqb>S;;;h6ay-LFH=#x>4qXqvQzQpif!#uft{ z24XFgVA0ATXd9g7LH@L9PUXrj(+B=&?-Z??gRIo{@!ic1MkLPQN3x_Zdo9*p@dS|~ zhTq|Yk5(L5v^+aNItl#^74;K^i<sqGM#H@~byoU~?1r{=I}9;!5ULEXmC;>i_$Bvg zSCon83vA5FwjE#wV8rc3jRn>I#{Gcf;uzBr@b5@${yUgXuH?_UCtN?ZQ8<Z1_v?~E z;Cjf%BeYKEF0Qq3u7PpfDy>I+U(cd&4*Fn(j$zfL#z&Yf5JjwYQOaPdZ#*Y9wQ00n za-=>QcHfV-oZxBX@APIoQ8S%MRJ@^Jn}34T1m4MpTaqiit+fOo=v_MpMv;k}Z%b-> zUz$Uo9%mn8!f3!j`=CKZ<Hc@_s^Cib@%uzb6>5H5|2WT|#WvCRoV{s9;uaoe=Z~Ob z_Y;vVlf^tHQ*?wmBkx{aBTZ53V4v5yjkb)bwxv8h@GdE;xi{MB$m{)IYnPsNh8^Mo z?s;p7IsJiAq%BR8Xgk)2x=ZynSqCr!Hk&ZiTsc!5^5!G6?|@P|O9WVu8x^+R%^#qG zu?n33su7O=yGB^JIRD2;>{@N@)U9^-e+oE@vqpa@&g(3PbF)!Zq5E=JlAOApkd5A> zjm4%)Gt!c>PXGv5-#+0wa#>AY6$v_oO8_XX8)je8z<gi5<j=UA&mUfX=xm=Cv3o06 z)Ye#RMgf7hrAsM;2_-XQih2P+CY=C=W?^XN*yq-!NArpf<cUQyI|Yn@ySYEn;sat} zK+k&hvKY@ehoQjt(?m_;Qb4kbAQF_NAE|Olof%159Gom#rG%8d6iM^CL}QMb6iEtj zYel+*6)LSBHc23|WDF*ZwCt`!D~r{AJX}n)q=MkK=-TGLq)A$ctO+@(5uZ1&7N;w* zI!&=DbmY8&ejd)i-J*<;(J`G061EAh=Bp^@m7{QaCp?J0aOJEu@SeZym9E<B2RPgp zMO&yHt-PD=-XB1z<jD@44acDI*K6`<klyS^J-lp-K0IPji|Xp3sW+9Lj#B`+Qvam_ z2Q7y`X}-25#*4$$6cbv^3d?nWcZ)uCR}uaa!$=UEUtAf}sANyu*!b}VN5o~jog<tr z9BSZDm*IiSSUq>)$mLoHujSFjPcC&dQR+IXp*(sc1}Jf`Tj^Vto%0B;Uj(1D7Omj0 zFD*T2;%&Abq6=9+KYo0UOtq~IA9<^<i*6$2|Kj?U^Mg>EU*!arhV8f8Uyt#xk$)Vc z(#NFkp(h^fG4=(JEKapK3Viyf<^)w1m48Ri$@{M9rxO0$bEdf-+yk4DGR(#%Ju>D5 zbskBhO>&)&&-$z_<f5pFZP-|W@Fa}M5fh5ubMNeQ2R<b#I_~t{YtxPz^I!|?rmL?v z582oYslX}W2om*RL%Dc(%P;@HF_jJ(0nTUUwfjnK$om&o1A;Rgu5U!6DZG~jnWKQ! zzZn7979=1BwA4GxSZ31mYTzZmWlTJn`80S75WC|e94-n177W%}j)3Ds-v=T$bRZB| zu)aeq{6c7Nd%5(X6pA<5@Tniq@g`=n(*TJk`7v~|ffDiyiOXowV)9-@MEk$EyqXJV zqXXtu&d%h5NoF?A|HclD15<xLlRgfn3X9K~ee$;<y!B>;Yl^GLCXc2H?F!|df?<cb z@x93f+C>Z{KX+O#9bhGua|6S~AK*O{NHjMO4LJ$4BtcRnZx5u$h*z`R3=G)lDCK+` zU7Jf}DANsU8Dz7eCBf)xU?eT=&8SnkwM@?(Ze5!+RhqP$z1go9jk^l;f&byA;+8`O z>~I26Ui+_W`_Nt1%>fH@Ki}yY)}60#3;s<$9hr!Ocq^9BD!AJ8G0l4lWz}afH6*K7 zO`c!pi3zm#Nux!eE<XTDg-ReJhblUHWUUax`$xOoSnv3?o!%F|*q(YA;?RgR*yku4 z77W^K&-k}s-qB%Vjds)xWZAU?G+f~K$u761U%Th{0tN{4yit*VZu;K=Cu0i+PLUFi zdF9nEo4ptqDL(%l$`OCA-7KU<r`-iK4fNmC*^8$wzb!Nvq=II}VUG9o0SyZ!SIm2D zv=dJ6<8xpNi^Z4c(BcXp0qI?#5jDe`@aBcP8eF2)Ms!)P&NpZXq2Evvx2EF12G}dc z`<z3(fIt?Nf1QTZN9b>Yvc8a14!}6eFjaoeI?Q<o`o#sNM6tzKd=I}9AdR|wiJ-Z) zPAVXr&z>mIhLR)y7HL40EmrS*hJh^gsnYZM%PFeQ1e2^yWJY;7(Bc8R3aYto;DvgM z@6$4tmxPVHdq@BFrF4U%neOkt^-Cy}EL#%}txZ&sHm|;2C?s-L!($D#AxQHYxj4h1 zU$R7IAq!0Ax-+zU{$w0)Hnq(87T_^G*-DOiUWGLbzU{=N^~mW*BvpybdgN7hhzz|y zK<|!YDPUT{6tT@u7^^f^j_t{dT2pb&53rL3)8P6I1FB}ul8zyzoelbXz^sxMTpuD# z-ZjJ{Wc(29T*O}pkLE|noEHAO{SdhYQ9KmyhWA3m$$E&yZN5bbT{~WmlC(tedH9EA zw02I6p%N4d!4fHKWg=3DWl}5uGGRf&*m8{az0|e=2v`x01;2-joxUDmCm)A2%PdXI zd^5mf3CO>lp$hJ6T1+Yt<tGNNLF@)VGz;WyVz$bhbvPJx+$0_&jPNC}D_#&;l*cpE z>F{<8ogKLk1q(S>gF+nemT=^SbZ`$|T{<RwUbC|Sc=9)F#jl@uHIq|M$tk=d!%Jbf zqB;xDYO7M1i*;5l@Ri?9FXufkzq9B63{grUeeM*q$+xg^u`>`D59fH+Ncf5Ru<{^D zpV<?;;YHhpToIxLH5SC5UFWLDOlxo))qV5osgf?b$$-dT&In0lSw9dYo%yQJ{911o zFV8<?^9t=;+ykIPz$IvK+}dSJBU`98?I&FLjzNXX9S=^yn^0Z<Ijj3eQSjFtRq`QU zn8ZTEhd_1e22>DcidDMC7r4T%Z>L+%V)%bF{MHx)!Wq|%={}9h4%(c_;X0=8o2ywp z0r&i~0#RQ8L#IPkX@e|r_YQL$zI_ZuTlchYq_jLo1da?{cumL;q<(&ZUZ%(ZfA|#v zBZh~G@!%IfE-u4VgTb^&B1<VRL?@QDe*1F>9BVsBjYGkv%bdZSWpvOb8nJf(sBCq= zIfXT^)Om{-;7Ojn)JqXYdd@tboVNWn&*KVC<@GqQ+6oTm-omej;6)QySs500sErB* zwevn{m0aet&M`-I-AXJpy6Cz$h<n`8V}HHIVri!^cFA2xg$y*D2Hk-FqK`{~BxSR% zU^)U`b-tU6mQ%fNtsbx9rHVEj$ims0XxGFJL|xTQ^$tiZTJA{e?k?8Wq?_8K&N1&z zR+G&%jgn_CGYeq1WCoGU^5oA*@n+T+R`m?Z1=;~lC$YUS%FqlJ4ICYum%0sW<z9#) zg_B5F3IQXBfy74l;sP(lfpooI(Ka}qWO?n$pXALOt8(KHZ%Q5Z6)IQ-mCEa0A6$#& z55?$UxNrT-0g#*PenEl`DmIWv#bX3&o<<j=fCFxHEVemprN@oc@ERcDw%IWeS2VpM z=gm2|(Li&XTfif9D}VH2BL@n0HMmTeQ9>uplcg)spmekcelzC`p?l*(WBC;kkM|Y- zn>Vn?X$|g@?WaAryNz-_%Kpw)(oDkD#GJTlV1lCV+zU4w<%6uq6eWC@2?<%C6fzg7 zUaOKO6ZAZ%v9$7>(hc`Q-@VhW9!Xj#C5DiyMP+T;xYNW*m{-taAZ}mOJF^x){(5XF zp<py`z+aIj{)R&uILs;=co{bt=soa;!#b}^U+#IUTdzrPm!fz)hwSsSsY-ctXr5<x zL=&$S*;7i$xsoc1L!Y3NQ*||CAoGq!09#z|b<^({&EGY<B5x~bRb_au@|(8OdDVk? z#xveyz|Q-atoS*u^iOK92hnbVMT?#!`h1E=^>5D%dbqva15MymiobAw!?*pTA=Q{F z`wOW~NamN-L{V5?k%&<mqXSxf6pFYC?icyl8p$5=ZPhDt$r!*7uym5n4l1ho;V662 zZzn;YWVsxjL5q8ubsf^rSYl&a>HWh^t-HnmzsWt!8}n?f=L({w4xx`fuX=u~Q<TWf zQk+Mw`unJ0?;6{?=ftpe^-om0%?ESt_`a8S<tG6)JD<AlOi2^8vF@@0#bkbdlMisX z+*f@1)yV`R78h&4l@``?Pk$~%`I)-6vX7(Akb~Y>5<^?WF2mp!($BV#O9v%$_8n9P zi;dK1Q0TH<%@1Uq<I*L-cFjdrS4K8H7!r>TP8Y_HDKZMEhmlMljhujiZA?!<RH?1a z$A8exl$e|tsYuhLCEH4Nw)Y>`e3*wtBV+wQhI?}9{>LoN@gI7Xi|v0$F8>d51@qPA zQ}Z~GdT#2A{Gipa>EFSgGq~=E%?tSiMg*urEs8MaA)@V0b}P#<OgRX~(w8-^TXHmB zF4q)MW@uhZwRO$ePs`BdJ@Nq6NB-TV6Ews{TjHN??OlPi))KUf8uT*=mHsiJnO_-w z=TE7evdS*Au6IglBIBQ>xF@Wg0iU-In<ZxMwB8Ce2M_yeU4{s2At{YFL@>yP!qwUm z;QJztVAAX%N(@LSe$+BmTHnU`6g_$(3xTb`{)-t(8J%2c@N@Je2KjFwU%;F-Hhmqy zOeiQ+zt&Ac6wzxPSBm4PsEhUDd@S7|=g%Z$8z63`y=0#C8Yo^cG&4h1I`lF1dT_T? zV{#tXyCHNrI<Wm5Rl;sCy9z$QLa&V*B7$c)@Cs?P=}!{fwNz^ATP_vq`{f<k7i2_6 z+?(Z(r=i4z-8AkyiPMq#p(xQ>M;ii#NvVuOZU*9#v!af^r9ZxRHa~!(<K~|@os}n| zK2xH$a?~ei#KVeyEcI@lOtU2SpeXiN$1zl`y#_p&Sv!e}v%1i{oOk4`Ji*~Vtl@xs z2|kT1BMJTMPbDLv2j@d?tQ(n5l-vgp5zw62j!kAmABZe|+ny%fc4s()tjJzq;>T=N zkh){7BmL-ib)$5Q5?ZmcowOlPx(SAoIKua+hppHMJ~Hh^GQHhTVnOX0ca}YIj@8)= zTKBA(QpKHe0Kr;arD<RwO0jWTkP1$4mPTYBh_&(|M`z<x04p&cgY%4JaQ=P{>&qlc z^-|%+d}IFY!;2@6Gca{oZI(v$YM5G~z8Oz`JL*GNjG1>FcmS_66?W^3sa5}l2$Vpb ze(4Msv1L^3$x$KdnWS^eH_HLWcL>viVhxwz=6b`iM-5Mar&RsY4Y!kv-S<hrPz$?} z>?64+Zv=;g^T;sjy@hoaTkdP*;nY^fckV@A=L2`B;%)hOHXkP<3JXM}-_UMDEivZm z&F{L$Q>>@<J*t2jBUIkS4rrxJEEB@zA@I62h~BF1d1Ty&2>b#OC?PyKZ1-4eYuJ57 zpt(EmU=9TK-2QId3Y5nu!=9zEPmrnelz|{*5`SQjo>%zg&Wr1($|QVsostkty6O7K z*|-F~`(Ks$UqLBs{|}5x>~)8u(L4V>lOjy#AoEE7Ta*x@vC$xST&V__kbVxNn59x< zF@!NP%eD6pHFxy~EN3)rD2$r((#}pmDK#hZXX^i=gzLm^ndLUUA>CapK~9t+0S#gg z7v2bd0&=w+%*gJkGIKw^@J7BI9!zgD|M^vRZSa3qh5g##<D)|rpDU$uOx^v;p1wN> z?Ut5~Y}xUg%tG?Fmu5NAI#g(qTs|JYJPE&j1Xa*zp9G~OqA=MiZAev%&Fr#H$XG>e zMA^nRnG}{&CfN#<p;0SPBv8|ZHp{t$3}`T&$)F#;icJ`%YGpz@>^xc-yDp4ztLYlx z+^pJ|K4ccLbaeP$G9bkJHW}MI#2WpH)lt#L@+03ur0ll~u;9vYTRv*xAj-~Z0T}t{ z!w52yQ1&Rt>l0#mr*u@r(rPbJhe0nD3ie#rz=zF*T;wG!TN;}Ki|pPLdQu~pe$RAS zT+ovTQK4K$#CJBnSCIfXC|NQ7zxcrUozIQ5ITcvdO}{QJLjr^V1<)lSp+P7Z5imtc zGhq$f9k3gv<=X{&bNquy3pNTZ(Jk}Qzz6sX@^@yUVVhwAlxaHSS*_<Ai*=2TCdm`i zq$o~~DByxEUqRKAO0ob?r;=4}q@BNsOl%8Qv{cxOPGh|2g%nFu!nX~+40kudnj5ny z(^a%GluW(9$bnk9nc#9jA%Xr-z&5ZapDj1vR=bAr#DYm>j0_1hId(yC&FyozV5V9M zI|l!LmO@?qA(cwO7{_*2V~YCvW2Nw?96Dyko`oTSn#&@wYF-RjP>N2Xk$~>d`*&}V zs#fnfGy&up!)d37PC~|G>Pn;L&<d?c%)qemF+EF6c~pEh-C(vlK`h#ABnz_iaPYG) z?-ohAGRiXj`VFeWVG)*9M^Ry~$;95@ZP-PH`Dp2lhO59gFds2{NP$q0(g)`8AyUtX zwSr50`MIy`d<GedZx~6vc50-Y-)V?w{EZL;6r2{+3xV}GIZ-W`Qv<8+xU1@cC`f2) z!%z_vtmpfVH>*q$jmQ!*7_^c_g(Y0o3Hw!4g)x#w#2U^{k;#}GWtx35Vb8<_h|?&T zgS&E%+wG((A?t=r-jdLJVip0;R|y(0@8|2S&Y%2O_cZ7C7RIS@AF<c((2itjNu0K= zzM6TFpkkIGA9csF-wV11A76nwACevnz#eyz?riSrI&jWmr;ewPT169;t<=?rG|5&L zSgy=FBvdjeKfBkobJy^f#eLW#g*ll`-Fz!(=4;QKzkBle*AMFud-#xiqP^-i*KT>h zdtx#ipQTR64aJ7|Fsr7}S?j;IIPzu^uZ{c}BqL=8HX#&#Ow|W+j2{$A%DrRpP+r2_ zr`+N(s>DE?x$o6s7mG?3p8mK|7m3R6^I(cHg}inhXtRK<mM~LKe_9^{$U^oqe6^+_ z!Zwac&Rvn|fDqz{6m`dEQ0qoUylL*;rYq}=bUKu&@n)MD%w_`ZS)q0<JDbbKBic;f zTSpuyz+m)fGDXIGteNJ}(7VLFHIidXPyDz=+_$w5F<U-hhv#7uwd%GL#G5B8z?PD; za~`~3Y&5hZL>p}wXf#PeOu*nFCOdacn07@5)nV?(lLKP66S7CKX;i3Z!II*L(oHJ* zYir0emZO<y0(>X&go(>(Q%fjRDitIVR|_*n6KhdF#I#swOPyN<3IAOzu~KMSuz-x4 zg_1jbKfWz-<_)s6bc)+G_aQw0bqz+Y+G}(m<PxOtzEv`Ic0i$%$0<ww>H^?%wLdAr z2t<$I6*yDlD7aw^QlKmf-QI~YbIi^H#pmtE%yk8In-H~B5$H|Sf%7qhUA|9q<l0co zD$IoZ=^lcI%*fy4wfpFHH$n_?{&%3ojyHz~W}!C7(mK(Ddb;D_yvss$cd|E&pSrHw zi&L!8j!o-$Dwof{B0eEt=_g-H-Dx2Pn@)8JksVEkA3AED9TbIOJ_s8b-Jn2Fi$;3p zqg+x%B2(VsCaP&hSCitu8Ih_<7aOPj?Q*w-PjwmVV=?VpEO<qO`y@lnrqAQ-gDe$y zMDoKqhAhWN%QE0)pVBr0@+*zhJz0*0yVFZ?DI~yep@Q}J)1<B1yZOwig2bLZ8~DaF zdy)edQ+VluXKL^dQ#%VDk8L*08i}doW}{{Ze+lw1=H#&1Ru?6DvjJ(1c;UWmUQPVz z_|mmx)1G=+QHh$lYI7|3ERKv7m^;gTz|^ex9FpeQ$^suU??m0nB^(;l#g7NS|HKwl zdiUCeNNJ_Z*e}0)gQT40cl;8eD<wu1vhb2*4ZT3vz8cT+tfr@2_iX*Gh*{qYyFiB+ z$V|^5O2E|QU^rM<$u~x;-mSdl0H!DH1(P$_=)|x_uXAX{a-6lI&n_7!XgRG?XAPuV z_bgGFeRjo-5fUik$w`)B$1TJdl)<^X*ON|C4fFY?9Ya2}dIzM;Bwv|G_uvZG+BEM1 z$;_c=7A!N0B&jdtRbAF;F>O%`7EQpa@AENLR$s4DWGO?Ji4hCB^S8m9=>pszlpfF! zXCv<rPWD!=`=k=W1idP-ibBzi8e5&AlR0(`E@A=WK8MD|UKy5gaj}i=DQb)tz1V`P z+1+0Zti>mpeQIas$m4+4(=iVD?IEp4S6~w@wD21gHo=ecs;^E9Ba}t4l(L^fAQ<u5 z@x!ZaWHs}uIb}9#9s~CqRV67*KqH2xo>9>50O3{Rl5?p(I5}Y6V=k`DP)K1;xn0Wt z3<bH;Ez)K+5IV-ybR|HUMx@Nn_WoA^z`495(ARF;7lL7J<!(Y)X(;iSn&Agk#;4li z>rQkN{@D9WKl^A8^LfuH_>U@U$_Q#GD&&MXq;w|Fv!+&&8f?BD;-YJK0&t%jJulro zuJQQ{+-~$+CfvewPTsd3BEym3;%N5{OD<R^em-|sN_G@6u?-VmfUy>RKzvYz8R~5R zma6AfUm_L^k(8XUVB%-l`8R+s|A?1K&w_<d5HHFLukh|Irle$%BxYGf3D5=duDN6~ zdzcdlNc~J6){NweEGTbjX4E(|oeuW-JyH9%8Mm!IBwo2Nhs0o?+UN4c5->Vh3g62p z20&d+6qL-xrwg47pKYGegj_Z<hv|Ddd5G*=vaIWHAmX<~!eK!QQiI+8B~Nir#(Xul z$hBhj9e<`vwrRB*<-%`_Fr#6}zx;S73_kvI7`zwLS&WF$5b#(?@`+})in%vsG(`x# zH8Iw{!}!t!xpY~bZw}N7ef=j6MMBAs-|7y(7Z?25(Dqv)|379v&i_zjEG+-?&B%zh zcH&Vha=@<PLN;biFfwUM36(quC^s<VMC$2C1AG{1V`cctLXD~ASf7A8-Nl9S4G%8p z0LUhqw%N8iA@?WJfMCFQNoYojxwFssrDt-X|4+h)G8EW;%)wmZO~8-m2qK?}cG}(0 zp|$_8sq-uI>(sg)#3sHdwRsUif-zprUj1`r)R_D_-;&?Y24XAV{IDEvmMbQ7u)yjV z>s}5D*~$6y?T+x~`<Y9&EbKL8T<T8ZgluCxZ?J@i%zC;#PTB!UiL}}FtKBGC#i^zA zJ<~f7&Duz~mJI&A(Y2J$Yh>M{?EFPOwvh4BJpz&6AI|bJI|?3kB)`32YDjYP$$ax_ zqST1W!W+koZT0nMiCJu-vw*87O<lZcKLnw>D3cUXZfyt?5eDlAfK}m)!B=oii<~t} z>nYp>BF+^?f<m`)kK{7ZPO=KIojK}6a!0Q_Rte<`t2+bayX~X?97<`g_(~hvB%BKO zj9q3vresd@nxO50Sd%@fE*akHvUx?RYDnYTXUU!HLV?1(PHGZz$KNciBs6VSj%j5T zo!*8opE3IjX()3x1mndFWWp4qypa>Q(zVmWPe9X%yGne%RG!hy?t#GMs{jE~^tuC2 z4u>)LNwusb>Rwoh#VKn;Q+&WF0lmeLB;;n^N~dHkf`yQFi5o!jdUlu&d6~2k15!<X zv6iJIsf%jkZBNev-hrUutNO9fi{5_~V+~amuT6>}z5q{s5a&!xNi7$OM=E{L?<nYI zF2I%9k4b%lhDf{lvhTz(<8%JtA<eF8-O3{8HpIf5D$Tc0ykAP!Fg(zVJBvlL^!FV& z9U3YtgF^3Ko-EBfr&)?Jcbc>m2HJPdt2b#~mvfJ$g6bQCgV9zM`M8Sp4G72dWCV{C zlBSN@3Ym5Jx{R=eV$}}M6C(jYUk>2AbQ>6$Tux(NSgmZMF`OJWIhaH5#foW_u^985 zGqsntmfK+)UuY&-k!3l&VzU-3egxQYA_nih7#|UV)3vQgF3)BoS~Tzwi3^^LpI#}J zjjXdVu|Eg=!W<*diGHQ2Q?yrCwk3KegV{?<EO&+XL$kM^q`2~zo{_!E;jUG$@FtjP z9!bC{uai1xp^kAOs=Z}P<Jwo9DD1$>sgr^Fmvl|-l$b_C1(`!eI%vdlu#u`d84Sj< zuEmxy8ICa971cjbb$y|qITa<%u$q2T90~=eXl^drHnlP!XfW;MK(sp43M;+gSj8q# zbb}W?;VNg#^5%9sdSU_O8$zvEe%;%nuA(Y+l~#|+rJSU9eB@bG5fM{bu1h5ctNF4C zlXH&8F9t4FkBYpAW!D}StQH|KKwe)@l6e4<4w?0LbifT@hQ7Ei+pCOCztNGFp`%*3 z%HVL<Ojvk=x)o+SsiVlQ3;FifU0~)5BXPn>&*x%R!-7iMI8fpAZDH<jTA|31NP*~- zY0aYa?GSPfiBWl5v3l-=g*1q?xwX-Ah!ikg?5Pb?#`W>Q7|8HwK_u|Sd54&xb}Oj_ zK@^2RgmX}Z9b=YJg%0?fI$z~pXh)#H6)X`K6cZ|PjGw=ALnAHI0TFDW#sw$_hbcSV zy%O&@%HALMmjsqY_F?|!fnGOZ*)E_|>*BR4pvaX~xjp{p(O_+}wI>1e%I^3o^dUI5 zl15v*fv8vr;UdLRpw)&u(Y<OaQN59(d|rzfXb{#w64&Kg+eoc~oYLXPlq@SiWKu*< z!+rq?mM#<q3(r@f$LpvpL^hv@7Kj9S^hfJ6jdzC2;IF!xj@Bd;S*_syD{I2CSpu?n zprRQJJph|;tHxy~XnYVC7Ndqbh*>|v=`9@HQSGG{!?oTBHnhtGHksg6DP6yVim|yI za8*>f+;0axnO}Q=<yKFIMJ~@XH&iQEPYN9%3cAkC%O^x{UBiu04yey$4DAjc!?qEq zof6Q!A=aTCf^&KLc7KRg=)l3$b3jE)ST4?A{;8c+kv34PKy9m1T($2l#KYGK<T>2I z>vMzA*lQ{PC9ty9mC1GZ3BmM)enjPywZKo)vN*1Z9)e}2*F%LaihM<6t6p}~o1xg` zKb|Fq3rVryTZJ0!L`hn?Uf|BCVmkM({!NcUQWEV92_>9F9V1%ehZc&A-6$sAxv4#( zj10wao`)5YrZDq{g-{i!oxun}A)Bc+$3yne>r8DBYyR1jKeXc0Ei)vQm22Xb%Ee$9 zA+N1<)G;~(ebju@a4E7p72CiISU-vqFjAUcu>rmsLI+3=ZU!!&lxzANf+&op!!2YI z@b=ym0-0@>W{yV+bfE2kuzf{5cO&)Z;EF_(Vbl%R&yKq$oVfIy0}v~qx9`k->^&l3 zR4WAO>fClAV;UL`dMsvTW~b^PmeN42vx&;?0WvZCdf8BYG;Kq`ZThQ@>cj6bYArL6 zGw{*|lwxcjEzx%G`AtG7$`l}~sc1xkN|%cLIqJl(4#0+EP;LN0Q#x5oG)A>=C)x2H z?h;s(zWYKe1du06tGthmt>ekw^v|8nF8?_X=%wt0-BPy-p5jdOGSUabwuSc~xaV8J zH0u+vqv6O)mfde1cB9$VK<Y=74pNK<PHR5Dn;gO#9-<F!si2&cJtepo$cQ?)hPkA8 zymyT_Zykb!K<riwi$b2PH4ro|Hh6s^;N>hB`}8?1_R>}K%*`^tTe)0PUva^F=YrUt z47eBOyppJh!qQuBb=qsQvQYXRj$ybk^~~{&QETT4sCP8~sHH+yny&{rw|g&#LP7$y zl$FBI*@=uIQmC%W$%!;&;DSl9JWRGV=Y*Mya9(7D(2aN&6(@{q<iy8i`{03VTK7^- zj3@me^zlpYa|cmS(WUIkvv1SA0ydKLaZn}NjOQ(iJG>@+eALRh*Cz@AdnB3-MI_a$ zC?+}N=b1U1Si7!F-2?hx6bUGRF!N7+S!vC=7Wyz4om4pd-}#yjC=A>8F6yG*w~1JV zDw&^`l<i92j9&R*)pfM}xUaRfl;cIF4mjV*K%h|Q>68DOnf~L2o|%>Ne@x>^|Nj}! zNb{mc9urZF{1|7&@|}?eF(keA7*VSgYc_V$=*JH5k7J%xDL&avsINvT?`#h<siY`k zx1_=t;LxUAht>_;JL1oem-vmeU_fjlpPjwFKU7jeBzfZ4(5qdIQBNFRFoIVPo#`_$ z%%dWA4I+85x22zW$Oah4HQbt(E0d)x{{Tzdm*|LXE|vwqktV3hiH&PcpKd(+YJDX_ z7ID+q4<Ia2oV_MPxsJ1#9HIp4R4_DhxXAY#ZOXLm&2up!%{kPqzc+jQt7ng6DvWb~ zY=L=w12)bcde*P2PksTOaw26WJLKa~^KO4vmR=9Cg;NIg%f;2YYO#U%(&fco(S4F} z+V9IDWo3^n`RwLybQwAt=6-rj=brk`a0;nu&4d|~#0~QVUhkk6NFn2x=FAf*1ZhlS zmK-Ztfjx-ZQT$#?aCcG0=W+n0eD9BT-V1}zgW7%ew$(rqF;A9U2h^a4c-hnY>AEk( z^en^>d#i9X+A`~4_zrb;jC;3;VVRm>C<ZR$tF9ltSNXJxMM}+&YqGAD&aX_nCn%jZ zN;yqt6>Fwp0w+=_SS=3KagQ1=KwZ%<SB+00pytjRr(z*gXQHE!e9Af$MTgaL^KINt zhJs&D|1cH`2zU^L{dppSB3&1sF3uN9qNvdKStxeEV#l;_#a8PL3`3*DV<k|H7faKP zzJ*b=GjU6&HNmO-6P~{<y~g{bQ7h%;0joM0?Nn~(2E}6`s+uRl$0BECag<9CBxIzF zK>-eav@$ez^5aTI(v0&2+jG6EI%1pMmadwquxySdX$^vads%&<kQiw|;w0kpn#d1s zl7kXE5Q)qM^$r>vrFa(hDLRMkwc4~rb42v~s`RThHJ^OX$7VA>{j)Irp5mcC@<A(X zOiiS;&Qf09{r)t91d{MYv(nLZJe}pzA$szYD$?nU!JI_p*Nk-4&K0KjuN@ypaRbwY zm1no4QY5-P37{iC*5`M%+2zaJ3oXrZI$g`K&A{BQbi0^OBM!xrdiFpJWsK+Z2bMl; z=J-R9$|OC5eD@syBx4u8%AYN?E)fn*zVcK$L3|yytaHRYtzo$?yT^GW(z2UM`U`|Q ztMs4M$Zo2>%lwPw)k=)(m{7Gf!@M5NO;{-V0U@=(%tez(4;Dwoc=x((BBr8b3g3Dj zPn|Y>!TU5r38!fjP5%>mZ3nj%fFF1k$~3p`6&sl`mkdiiXAFw^j0VTAS_h{^?+FI( zx7R2%*mgGh=SpruoB=KfF{CM`NKQtdY4arm61J9K2U?=gh}M@)ZnN=9AV;qy%~Zj< z<gxa^Ixfv6KNJCA4x$6T;-OLDL>_D6-FU-rK6ZT9u&UWi*-_)JYw*9G^)|bEPU@o3 znTmwtqDuexZ88U&;uv;Z@7>F#khdXBzmMAH+?QzzoS76B{KByD4rL%vV<O|Us_4%+ zDf{#8gi3PZ=U0Vrc6`;*ang(tS1kQ6?$Sjy>gwIkzR?Pd19fe=mNj|lO~;j)HNDqB zfQ$BuAGCt%0lG~3n;&i^?;wjQiFyxKwmn%1@!n?x76<zZ@cr0G+{pz3Vrao9Gq$Td z_=8XGM*s90K1T&ALYk)dpr%&oGtNM;Pn8St3@K{U!+3SQ_pK=7a4qe<ka;sBUAMKT zq{+YKKF(+u0r30*<k#=(9y@-RH1}2cZ-p?{*J{5MR-CAyLskLJmG9_Eoz`^?@qr_{ z=a^^Ln0ofnyDxEtmYpw@I*bU(b;|W`+$GvYM9(?Ozl<M5AY05I(LD_Z;88^_c@FPO z;QVF#A>5~_-usVc&GjDwmzkTB<9~`yEB|-Fy2%0e9neS8A2hRWG3V2K1^QfktuF{? z+eOR?H^O1mt7RR><6*;V5BfNkh<4l-yWxO;PuxVFjP`a*Y~C8PKc=DGy(l7<EvLCT zq<*#2+iT*0HW=d6dT_VBf~bhD+sHL}5LXNEa7FeUxk%ib5D<K>(2o>}64I|1rB-(` z{f^82J@t;>b2F>&h=9-EP5Z&0V5XFXKl58O!+92zVl8m{%gx=FQ>TpUCvKwsV9`RL zExVCTMpK%Gl!7e#YXyg+dhezW)|JiO_~M!y%(eFo0v>397!_Hy#Y0CVw=S^kN6-`< z(bfMio-^$)1<dMHE)-}STk$_9GgWpoz#Q!>u%f8gcVURJeW2je8>lV}rD3p^7+q){ z##y;^->LfI?e+*`72i?bbQ#G?gQkR2CJlM?*B?yUu05>Yfj04TX=L$iYoSVQOurvO z?>ebso7iwQ=J>*LQm1jbaPz_=b4slrdhITh=dfI#`$>NsXcbA2yK42lxil<X$m#W< z&fhUoK{;9LO6X)6^~U<`lei*3DqI8zFlOEH9|95&h5%Nr$92PUd9*ku=jTHr9|tRC zR$TCu@Q_P4xg=Zc*ZU~uh<V1lecZ?B@ztMBhDXNg9tcH-Z57SqI@Gui-VK1<1HN!q zftv)L34A)DC5l?N07bD1B_OgveFF_74K`ou8yrgvhYrA|t5)vI*S-B)wS&&#!zz&B z!#9-WHG^6=$El~hF5U1t*u>>vCSKk-74Tw=AkBBFH_!ce+XEjsT>1Inohxn5s%2Ol zDc)BgE`x$TXHO;y7ZLvlO85aWs}Zv|YdUHY-Kz`?M!5<ix_F3U!+5Pu^M?MH47pgS z8}MlYtLC#Aobw5Ev?eka5<<%D9&`}w1vVm*vF!i|Q0zQQf81GKc`QndoTzd+jLpkK z+VfDLqI=5orbu+}eLlA=$%LfStM`~G&|&{-4x^sAI>9~r+CVk|pjJ7801oZCcoNm0 zYbj^{_${b)siNY7M5X(Yq`?h^TpI)w{^{Rk_fg@qdEz0fynl!4pAbQ;!o<Ucz4QlG z*xtxfHSiO99$=64br;DW1iy-+F}%e3)IIje(7aK>@yppssiLte8XYe|O?7rN)N7X# zg)!suho0t%b5D<;5B}PT=jGPJH?FY5EJx+(%Re$9pXtS!<MbXugY81bwisAAr}~Y# z*YeKwgFQ}Yb!F~AvnJIW19jZ=$I`ZW_<RkLGiExzBxi`&h#c{()7PDF8I>fAqNfuO zXUS<Y5Nd?8&2ndRl8zK+IGshwtV~{m9e!NtUS2fL-ZYH(z>DtH7OP4%xFLQ18E0%J zcjJwlTkA}+BG_(#+f9^B+gL(eAx8GwsLE2-I$=R|AZ*KwY0SE>?$Sjr6KY*988Fj7 zS`on2;je_sQGOz#87|`vL<me`U1Xk_kcnc&rEK`nvj>Jw$Z7l)^m=TasN5d9$4N{0 zGbg5jG@0Sz!Z-XdxiYIMs;u)_3ID#h+>?GB<lNG39=Y0WAwBJt!6oQ{0ILAHKAl*5 zlbiF2K}SOkaa(U26d3L!kQpFl5wa;E#JA(h)7O+t@VonyIIwkK+eZjV$P)9*Uhdd{ zf-FK}w?`x%UV^gz`8$F*ywE|b43HcwHC>36Bduhl&_OctIsz2T7P*7lzpCy_XmEdX zmrDDf{yF@>^$l2_qx?s8d;3jo9DlXs`(Excz5CcDk!Xos-~AmVwa%)W5pSzv4$SO= z1%lnAPSxm=5@6^SmA}CkoiUOfETJoX`l;ueGx*v|MKg7?1nO0T-x$!}BPJtS+PvZr z6YPwIjQ=nz`0m1KVzj#qb)1mfk~HFniI~ur_W`4zOjd`6x%Gp5#We1zX<B&sUtFPE zY!wFKTNzjdZ<LZ^<uw;|NVn!pF`V&+JJ%oyuBMCzQu?)Yc*{VB;RaVVqPiEHV-hsW zR#Pxa1YT{PJlfot%VJTgZu+=>xIMVIdVbJ#cYGZ`zs*qi-EGNo!o}pLv5H8r($O6+ zcX6XM8K)1Z!ja!Y*ERTo;E4pIIJKFrhr(vMqA9M=lisDN&O~aeJs1la{C|wSQ;;ZK z7qr>7ZQHhO+qP}nwtc$$v~AnAZ5wm`iT`fii23TWA}aP}t(80T$^OLhz%dLXX>dDR z>wt2&kr#M1u(E!F=~G++#!_*uZnEUB5O~?|I=i;5!lOjKyZwfs1MLAMPM`@l9D07@ zBbDn2rxCT;&6kb=4q|IUKBWRqzvLpPGPLsI&x6MF{m0E+VeqhN`}q8?FN?-|TwGaM z)drea_fMq5Q~`wzpUre_7XhTsrs3BB{VxLJQ93vV|8;({sd^?kd&W+iyue?T_Uqgv zpM;cnk+qaiQk3z-Jy1Qooz&b=5E3jy^2l*tk$ZuQ)ZT}|XPAVZfRo-=xI=*iFPo69 zcfe6*9fv+sy_h?(7yGmEKpg|<HnF#Z_t76Tv^Va4)8B&SuNK!{wLPEe%eUKMrr_wS zi1!7{jnnM`2jxX#9T^B8TYD&Qqe3EFa%hCxjS)24{YqjLdnp|s)&)#nxTR2Icj|lB zwuEdZO#Ut1cztK#kDHayL(y;LR(Wq@An?<;`T2$%7x-3!D?2N24lRY1n=1V@F)b5# zIw)^<OW(QH$;r)#Pk}plwuAGz{~84T!`;Bl#QA@XNB{rLJf&LF@rNUb|C)I)IKZXH zq9*Ow^s|$V%>&;Mu*Wd?NB{>CD{zfSl?W;0Q}y#}@utJmwr~kDf;*z8Z@gC3ry1c1 zf2M@-_(~K}j_ADC@^?d|zMn?UEW$xM$D{c9dputW+2F}w9vIl+<44cY;={xJZF>Ca z=zQ1h+!ax54_-HOo$pV=AMy(wT~+;2yxcE89=67hN-y#)kJ!Q=DCAqXleMkc$##A& z??>7FJ#jdq{(eJEHXShMDSsLi5r8aCI48CDiO6}x1yeX|>gH%Tcn$4m+gY=*^BaT} zv4Hub!(5eB!{;hwWnpx!LZ+B45JVEK|J=7Psk(JcY!JvR(VU3hg73R?gvqVZ+S^q_ z>s;wu)A@$Fc2Y#M`8K-5Oa@WRe0?YmLu-#ZCTN|eqm?T+Hm{$QE?yIY!PD73*3-_I zw>0ET_To~)U^SeVZK;oDD@1#VoAX}T*Z`%U&dH)+;Lv;-t8b9OvhRL>gHwDC#<_7C zs4N70fgN`6j1k@9v)G*tlkB>f)`lFqD3Z&6o(kdTOJ-S@H<BBwkd>El>_N;&W?zsr zC?aScram;q_OBy~FWx305o3#td^{I5Q63tc_w5&0MHaX^rDkefOk^+HR@y0WYs|2H zHe5~!1NcuTPZN*3bgFo3T#{XWntKlRo)a)v*)yaXdzz}8QO^B<YbyWjG+tc(MNC%1 z@Gw)!hRzOFijNa23Z+VpV4(mY^q=z)5CSV2@(ejp%?2UM1+kz3{J3NTj~*sZbBmCC zyvSI>_1{h^8IvQNny10SGlN97AMO2qYO}avU~sV1T}t}|GgK7Dp9zs5sFQV0g<K*j zkMxXip^5(4NUJkR>X_D#fAD!xn@?j3xJXcQHEtlH^|h?h%SV4;j=uJwi-SaBuk%9D zw@M2ckfT(J$<CCA#ow5oOgjjpsWU!alvza06CZ-2HC7w*MO$Zt9Jx>U&WmzmTqPtl z6~6J3#y)lN8*z*l);RQmu+EhrE@n4MVHv;TVP8$A`(sr%0tn!y8acsq-CQL2CXZAi z(cLKVokS#yMslAZ&&gvm@BwI?4#e4XwP{6ff>yQXK(<R_7};mE?-(2r$)S3%UBj6! zbVKLE^I+?UG-1EV5w@!`yePS95bvHtZQ0$EX_tr1ru!&amV<f2R{c}Ot>Q~QE=8JU zxhJXTVYcI6mGvTzl0aArC}Hzx<6@cRAv~wyYX6wiG$5~zyLO~$;M{u9*O+9kgAh;p z5HH=SSo&G{dMwD6CVWqQa8Dqfo-4ySytt>S`7y*1PN9-u0x6LTv7yZNJ(dW#Rcu-_ zOfbh38FZ*K(BW2yO9(<^s0e?Epa|Yep8&_eEDbewK;SIA)#Z;_^eo**B$IHrW!?uA zUIP%#0#Uqr5XG20V*qMPS43GIfCmM8=H~SV9O}2%U~=PK+{(07cUQb23?)-haox1$ zkO~wl{B>fTokEg;?JL?RQeqGU0i00>oH6&;w2<q`2(mDWxlMC-N3B6511?hYfZ-JC zTMf>m<E1hP#m+iOQ?Ew421;?@x#QfF=6PF`(Hysk<vOrQh=dNGz;X|&zVilB1E-dJ zsTgJNB(dT2I!KmMxSxg`=Fi1KmDZ5OuN(ysu!RclGe$-sN>U2r9MmioA>)YgL`VZz zseEE^rVw}>{`jp9q!3@E1Vnhv5$|_$_bg+YAu@THFlESrgTbC4Wb(<Vb$7bw^6Y{= zMdhg|{p=hN9^WP2UpqDSt^fooYe*`Zp{Z9P9BkXDyr?*5J}f*O*wTmS?gAP~APIwZ z=SP&g?`B)ov1Idk(~7ThJh+H-{vdYnLDeH*M~bw5pBTg_;1;E73?O-Na)87>0z}_C z<iCH`&kE?u0WAm_Zc-!rWRM%73VKAuVMnnJ^!6F0<V;RGX!fe0!kI9NS9i6hMv?b` z`pINvwWQZsjgliJEk#Rv9TLb<r2S?+90mE&^INh`ETQ0yA=o+V^zE*SJi=^ysuM}Z z1`0blQhV<c$^U}V$poWJZ_2#ohrdKGpA<s}`#O?>Mnxju%VI_RMIJ7=N9cKqs-RS6 z?Qaj^%OVmK7T8#6{7R!PGAB$h{-T<9_q%7wg~jrqMpQZ@4P;|Qd`_Nj=U`oxL$kmZ zKO+Wx2|Sd@;arp74h){@<dofb*cx*x!X2@WIN7)i!9%Cr)}Rq7d3naK%<80*MK=R- zAwssFK_yaRky=~?vB#X5e5y`dkK&Sz(eodo6m{pgc}g<aU6SB5DY2`sDDY*xS5U1e zui~ar6Kjs!KT5xFQ37j!z+~SuqwNGxo}UuyDNu@HX>_6bldkGJH%ep3G0x0Vs6>Rz zF0YS4`Cugm=F@Y<wgs-(P6ouyO?ypsek$*)nC<{>2VrTy!%^TBR91<8a0Z>ha;@Zt zm$pW-+>|F{MWR^v2xnSC+H<}y9xteAQ0S^8EO)G3^Z^x=4!wP^f|i>^MS4wni)84O zRa?<jgC<3|Xj$F|5?ZElFLN(cBD|h{-CkK$BVMnG@XEYI7pK3xuxPrp2#Xn*$AA|V zRs~#yP~t&-Xzg1`qD!{|VIYkRpH5UeQ0$2%GJZF4KnwV6FKCmahbD4pDkzi=I)8F% zE3*F4PS<uRX-pU9qFpdtcdh5Beuw+K0*S@ei#UB#X+^CPbQ&FKBa;9-f9Ag7iY`>6 z+P>u%Lh{EyypS)Sk%LNh<iQrH9Rvfj^aHCjZ=-Ozq$gxVmfI8X`p6b&7)#%W=D4eK z<FQJlG8WW!!a)UQx?>+~jykL&r~Cf1KB;7~lLJ(g?O&GyZAx+LLY~|m`rpS*%SQxa zjhY1j<M<-#XIfvLZTD6OR#kbN?Rpa;Sh6#p$wftDVd<IF+TE2(pxwg=5jb*qD|J!? zTLmD^F;nIJvdIi@cBoUa{j+}`^9wC-DvHn62{%(}3z+uHs##t3S$4gb*7&V*j|<j} zKj+R`tNdQGU>FIFf;_K&`E~jFwO*YHGO1B1ip-;Z>H)?*3k}bESV|vBIc$qiAVB+` zDin&}WWSIt)|7mrO>wJ$5!6i6mnc*1zzu7Mw4jZX<Z|;+n^JKPl+wzJ){>D(u~`%+ zgL+w~f0RKGOTno2x%;+@o1u96&c9%#{qcd+6jBWcoL6t+=$zXdn-xJ{Yi+N1guh}S zB9Y7QIB~g_{`;Jw-Pj3TBgi%(;L=Q7Bi_6usuhQ8NJX`vvL?#z)O_<avHm^_jxiU; zbdYqg^`yuhMs$*24qSQpr!!nn?l!R0X55@?qgSue$6A9L*aCkWfqb#>yQWtc?e-l| zPu8r=J^7x%gl{@BBlZqB84=R(LDK*!QIOtmQmU2-XE%Nx{&*?5XHy2R(7VW<EO@cX z=pe!#VZFl>FT+ztz1rU;>bo^J#-eI0e;}*b$%%uL6D7l~6GmS_fQuQRcl;9>Q5YzK z2*XhLsV<kD5=PXv%5MGac4D+)iikAxca&$QVnnD3UH4oxU0;q72?P?w<eEq;i3@;X z`drd*uHJS=31jHv$yb?~Nj<hOh+`Z`OEzlqSmpXWEe*)J`}S9$g=EAw?P1zg@fK6( zq)HdV<v7ViRK08V)7iN#Z{qki8WP}lZUAx(g`U(V(-cOyew1Wz!6k?*g0-iO%xiV5 zwx_gGb1%!D@A32V**;G8@#c?3ujZ!#CzhsmCQWt*baK5+-zLSx5il|Tp~NK9uPt-- zzZ30$x^pOG03g5r__ukW?b1GEn2b#gUfBNu3VA;%*OJ44dudI>RPD{G`O#_f8U)zG z2G{g>oxj_eL+soAG;TIB10KscqBe^IVPBX<c*T&0Pf+?QH~yk$$l$JHhw!aLc!cJe zL%&1ZcOu{K^$<DWK;~P)1%HWH+y}a_hBLnI9uzre=~-kX|D<oCM3BmwRys|nL3S+~ zDxNku5y_zCP6S;v7H8m66qwLD;$^px6cZ<MEyXgQ3T3FTDMPs<YkjqX`f=|5>G8n( z4j1vOts=?x;gD|-)eYU(UENDH%?*&dwC-_T;GIMFTR}%md;S+-Iuu<O(I5KlScriI z&fc(m<3x^s3!KC67+sc-P9l)rvZ4wlxJ^u)H}-y?Z|V=fsqs@cLdawrUm=<sPZvs; zp|WRcFLk=Vx(pA(^QFuSKhp+<x}v5_oWokJ`HYd3Nr=PW?m^Q|l)U*GCPnt|Kf=3> zSkMVkHoG5YO!XEB?GH^Xg{MY9+a{R|V$hVBp3KBNH~;eZr7hRV_jl^&^?WJ~09rlN zJ*@)zS8Jdu_+Ij-aQrj?VdxKASiIrOkMSDGwFvb`q@rQ54{4NMvMbOpyyh=3*wFOU zf9*>DQSHXe_K!61|33fAuB2&yH1dC3L4?)#LV#ItpL@qg!}Z1{!6a;T4c`XX5Uh(? zhH1ib9#=IFm&)po7>b>Nz`Qd0S2dM2hgDYR*%&`hvWUATE0qJs?4OTS|F9F?3kw_l zLEA>d`8WFCKbs=EXBw!Eh4wf2>DpWPc7Aa^e5vXE?ycO`wkbZIoz8TTJ@>ss8?36% zNB2K}@W0wmXTq&G3@1gwf5(_xxpgs&iE?*-yna{J{d@8$q+;G-{t2hdESGEj)t!>g z<xQ?KZ|e5{8a&4w1jM{MnLYn4>;yfQ;CQuJ+8AIbbh+t;`$wLN{4Qg-3ee%1%Z8b% zj!FQIE>qT}dXo*PvSh0NPzS2Q)Fp2{Tx`b#<ztR?9VxlyRvrfmu73PY+l#h0M4&>m z4`)9r&s|u4E-WssTu4~<ZerXVwQcK`RW1YJeiav3d=yD%fuI4nJXN>6Hx7G04i_8u z9tWu+7KjwVBWpN5>ipxHEK7PGoi#XR^$xRZem2~8DtD+3si2sHA1#1(O3EVqgywoA zr)f#f^=bvYg8vri$T%O}_g6pZna;W#&Q+pYWymBKvM@BM>2sl>Kx2G`1>4s+Z`;8~ z(~O>_V*s84zQv2=TONAD+<|^6GWZ`Q;B;E2_mItxLEMdqI6SdJfMs}ovhKmaLk+jm zvpju;NOa8F_k?Kf)V2@bWjBIulE!&;f<2nhDjYdk&zCK0L)Rp+U!duIz<Lpj)UQQP zgTG$!Llf+cMT+jbdGAh}W-H=bAC8kK)zd0TYYxi#ap|(sa}!6&qycs|n5nAmtczms z$3NREYAY2sN-zyz1+c2AHhsg9PFl4#1-2LDZqn3$@Ye(ri4tr~5&!VZJQW>$UMQML z{b*uRb+k4AQy{W(=jDJ|H788EJVTB-cZKr;n{yoDd$wCnI1j+d;ynZ%+=8P}f-7Np z=ucp%&78yb0oyM2wIazgP-<6d;7Q!w!p$I~cE*(EWHdes*VDfbtannc@WJSCy=G}P zK6}i6+>nDCGj4-BHEbw*`U@W-;x!z%A8G1k<IHxE&IfqkVeimQWt}M23LHpxvwT)Q zvFQ4u>8bHK)%Hca(XtG7d$<xhg<cyC&31X8dc6IiM})1%3`-RG@#1^Li<c$uD6m9< z!EQ@sJDee31ECYOKe&cOa7dDlvB~%;5U&>=D*d`5o?V?P!J);%>SE;xkk9WVrU%HJ zZ|;y<J%|O@i8kWD=klZ*T&@nBtiF-R@8M;i5t|2x=XWQ&oA^{>b<E+dS!&64;d*^l zqY0M`N6$YJast80ksbwzU>kE$6%9N%!=IMY!)Cg)9fx3^DQMX}-QEs#dOA}9;*n3& zzF3>QcK2%9z;0^y`<(*3+a1oFgrMW%yLX*rM@*$o$B(js3emEz-(h6zIVxd#Bp>c% zDMM1X9YMAQIZ$NvL?qTYIH^@^T-HD`o;vr=svFK#$Fhz3!8qv@+w;cSk#pQCUp&;w zZ`6Qxx%kfsIwh$iEcfwF0iudA1ja2JhWGVOrLSiPh_X}O;IONBpl1~6p1heN5XN(2 zIg>~+#v#rFro8ev(s3*ZEzlaVhcd^lozm%0-LrV5Rs)d}){|KjEV?iQ(Qv5VPd!OO z=CT3P?E|wIA>ev-Lbm+|1;Ln2U<!l(!TJN(^E@o#*dVGDFF3dwz+JiGxCX3`199Wy zxbXPWKWnZ{<1@+5QoqZn$m^x1O2GAP!mQge2h8#zSLLRo-b00=NuPE05a)nOQQl+! z3cJ*pg^EaIn9lQW2okl^I;E12YXy~uQX`T(kB&j1f^0vg!46BI+nr!oY=EEzoV(VG zpwY3FK;13oYYlCj3BvI_w9%#kB~(zaI05#}ed0oiDn-pkji3QIk@+*{QUX$}6m>H+ ziG?5F^dY6jHl|KiV<eu^@3(1SvTvU<N3loH2uM0L3K@wCvMGP|D~kjyX0@!#&Xo96 zeB+M(t^X5D_R337dbJe?q`);>Yz%-X`o#LFh4rJotl#psW;xaoQ*Yh<XOkFf^F|pC z$&Ri$dCI$B5v5=F#NwYmb94veaOfMsO4b_GVo~uIxName4VaxRKQb^JA3{A51wqll zr968;b18S{^U`NMP>4Hur)>+M9P)Sypw<vfjl#e%ku$uxbNC?k>fK8ksbBlf40QtA zQZfZ~d%|?I)W`oP(0*LNjH=;84#DG>dV-ntUxz$T={2h{**w+wRID`Ng<!}U9axBJ z=WqjTS`9n2A$%l4F`_|`T7?F6x?zPm)9kSzM45`!Br+KROZqo|kApem=ltcCZ@k5D zS%j1r9Lic|pnsI7DKRY=&)Ne(=b+K}j}oN&T80inOFjvY|B)YMn-5$@hIN)moiA3n z4wP0<poR65)LIrT$8bRN=1|d8B%|UWXU6`}M20C9bhj%NH1Ls83;}{pT|gGjs$&Xf zD3}LPQx$aP8cM%AaACMK1JBmo9{yx~nli)J3KOI7rzI^qTa01WHITE-T?ZrqlEdz+ zhJ3)^IqVG*ZKu37&?ihUyudr=6^iPi5b6Lma5<(X^X7mVj3{odB4F7kVP`6O^d)Eq zBc}?LQ3LO8z<T)Q!gt&WkR)UY0AR85M;Ek*l$b{poc@gdEKuBi9tgf@6LLlx9i<6+ zYLnT=$rA4km{Q`$qB#Z%&DXLx*VNnF3|2W8UBnBU3=mo+g<V9W?FOp|Vz-)|Z?X_$ zmXI;XgX(Hn2+q{NrZoRk?hv@GeZX#|fAC{0JSyuk8|<2$qr^RuL#Mm<)#lolP$*~x z9_J^Zr@^%9b05z&Sk*mL2J|yi&3IDqFw+@?hahw%it8My=yAy+hHvi}q_=DS`pycJ zL%xUwiw8U99s2Pt0lgFs_CYB)tv_m+^Orfnb!1*Ud;Kh7-cxwhY}#2C>28&)ZeF8W zlx(2MlTpkr*wqMdk0?J*fP0bLkDer`wyVwOPOnaSgo<2*HsZY{S8ExNBYMjL?$Tnr zSM!etW5Eh_9~M<W63}U>a4@BrqB!c^$zDSrM{%G4;<33giH|x-&6^X~wV?8E*|{KQ zkdipQ;h1_hr%W<2m=y#@A!kV_GWQXqr*&lct;}IF1ABNm7l#_qduga+Fsl0SeyM0v z2f2IiW*BF4>W+yZB@8PlCKVr`-|%;t>0c@0by}=0r4#`)#v(AWGr!&-r|t>c9WPU~ z^G2P%flUWgFZ~FZMO;PYl29(Q`<(k+HpXp}>di(@KRh&z&R0{x<zb=-9t3_asQjK8 z)VxB%KfntEsvchgLLPVkENsVWw124ccpkLCBrD8S$@6jv`-fV`2g5W89D;kRsPH^l z63r`I9Y9)wF8Ngo!B{$NH9jKTb`+<HQshP)(6@30k-TQbe{5JON||~qgr$=Nn$PZF zfSr{R%`OrA;WE%MqWcMp_(9lW6(LEihRFInQVDCA=Hpuvb_BkR<?~2g5|))Ai!NKg zsH13uMaCce_;*gCWf7F1nn?gREa)^8Ai;GQE12MovMs`I6i>jsq&(qVDM@)D<gQI+ zj68;GPU<dsX_C1(rdCz?$CRi92JIax#R;<d{zmUm)G9P9QTjq_?I<Aq)(>61`~z#Z zi<GXX@b!en$ed5B3!1B1T~XPC5n(KKtfL!}BVZ4O2lh2$mLPVoF{b6=Q%|@n9fHsG z=mIQ=)-34I13OM>nP`;j!Td!-`ti`L>nE>aheZZ(!ms?+NY70mhl^z~rj`f4tA60o zhJIT#V!prFA3cJUwD8g{DM*_fBxU<Zx~$&v7Q_<}XG{+d2;zv-Cn6e88J{YOusX|4 z*_A^VFIS8uJ&}vJ@}w~UunFF^!X8gfY&q#WH1~`$vN6Z$OI3BL<}DPPK9<EsKLT#z zu}I718N1}LSXiq4@H3IH1T0_j^=|!c%B>oZySUe){`?3v=cv0j4YjITgP0zoeR2Ao z)H`}31JeTg%4t(V*yf;!S7ln=7_IE~dCzmbji*mJL6?u+H1Is_v)_2DObB_1Xw7s; zpj$Kb?WQ1tSPJf%rwv5nJ$7^%UsQDoyum8Jlkgz2{AxO@^D5Ea#D<;nM0FWT^~%&1 zl=eqRn8LB?!ZD2Ms-1yZB^+@*_EVhG=XDF)NF?w)ReDSNQ9h!A+k-(LDg=yZ!tH#J zaJ5e#^Ol*2q=Bn$8^jbani@o@w!rP~;zWdo+avDLQE%v>i%4`+%8bumsc9h5Hbt6s z3*;r!_WZc^4gvjLml-!=#UHRo>BHcFqKbFG#JY5foLHpx??BkZ{j}_JFAS<*!Jx5J zsF@1QP<R@$qdjX%<2~vnbb$Iz4Yf1Sp9z3wTDjeom<FrOtpgBH8pA4lRajnDP}B=C zr*o&Wo*y><1!Cl%O@CNWVf7x9`vhn}JJ@@r`ZCEq_ZQO6N7rO+)9V|p!?Bz5X&Avu zyE$pr{w-+QanLmsjZ%j3o!XpLF2%;g>r22N>5ryFN($U1Sa$V|{-HlpM|i}wAAVMY zx}E*GhuTFz4giA2%TL!HERuKr$JS8VT=hty%5B<ZrJ2S|lOn|gJXet%nNgAaL7_@z zx|I)+5@cZ8=h>R*^});*6Td6cjjV--$a4Tu!b)f@N3aow2?z7U*AcL6)<p=(jU)&G zlmyEBAqqbIi(dXBG=ea8fAn&U1ZtyiI?%*6S>_IJbJz(!;vk^mzwQIW?8*0C1?cCH zAiMIb5kNde&XOT-fsn5$=L6PB>c&i|cz_KmT$v|c{sHJ0ix|UJlTauyY1zpp6`y)# zRGnQVL9QPODs15e!oPUc4HfmNf5vLt^B*fIC)0l*yx3X(XNYyGrgZ#P8{$9A9Zb$( zC7|^DCnMjr*WnN}vG*N-V8V1D@t^WcRcYMFhpVs8rRbEUzx9Y1c&O2$4I0%Sm1A)? zLT~8Xs{6W$B!a1F?$7VC6kEHyB0}#3d$lBfULKF9@tXgKVU4Obzdh*4J1p${N`E^j zsVl>c_eCPvb@j7XZh7*(^@Ap6S^G(TB2S-eIg8Am*UU+n>Lu%aloyPz>WJg5==k<J zNN@l1u*WiS@WxG5Jml^YH-O@`*x4l$Od+XxA1<8fG1yNpu<L1+IM!|FvCw>x;jMVG zROQUw&HZMo<w+mj_7s-Mo$tDOpOGx|qyDw%l#khV$^^GmihZsykRF-I$%FSr^ZK*6 zB343%rfdPTCf&6YjeoEAMFCk9)9Q3fb_AF`ZEmV?1iBU_Qa;%)E@~Z19&(y?%19Zr z>&4;xJJ-rvX-9_0K{<$$2?c4pQ<z2RaF&zEKFu1(C3zWos_?I?;ib8;5abL4P88*9 z@%Z{w|M%m3Fh1WmrROoZ3u=HN309ouxmCZHXRB(|^2}_pXY{(4eb8G4pOsy(ynJ$# z*Lp}1q={L)&sszkPsI~R1Pw)W%J-K9Jab-^nnB`qVCkhTnT6!iaMozEc#Q6)FU^?_ zr|AvA4L3Xy@}AK$@R`^^R7Rm7fvLs2?r_@Sz7s8ls;k8q4MUiw?T}Hu947!gEc4aW z@5x<f4?KfGx~u*=W!~;kvjZ}L1Q{4*rX4E{>9>z^N>WVD%w?)M+W>zPh|9!kOSp~K z53Z+VqD!2Olbv8kBsftHTI1Bshe)(?3J6}ITD%#`(GE_0wN{*(QHwhu^`Y$n?`qGM zX4xR8aCfHo4H*3P);74CFt#$4-Qbc%W<;s&iFrLo-u(#9)|he|Ko<?%Fjf2Z2D}j) zSb!`Q70aOUurbf%S}Yzw#DdR8_EEIUki|kwtK*a&6EPCM_X~#ZLs4wc63r)TjZX+2 zhl1NE5yUXbme&y#d>ocXazX)_9L6m>vUsKanab?m#*Kk2E>PwwZg~mk+mJ1N{mo3} zd+C1uI)h58p}=KrN%2fMLTQ9r>M~MvpSF(SEKJkP$B<s!YY)&Ey5KknV)R)qOBJz4 z6xzJKi>Bq~Fb5r{5rWuFrm5Yk2alkbf-{obDE%na$6=3mB|4;dXkRC8Q0(tf1@_G8 zwU}AXhMbv?+o2;eS}hmBSVJ<l`rg*1M1sc%CTck5m>FUwbZ?4X!roqKO>!Mho{=%C z;2c+_mixw?BVbH%Xr&Mh$aiesm_(*-YAgt^36hp*B-O{*?l22S;2Alg8}2%Fu<0dB zz~9tKLWeR{3aPG$rW6qpZz60bU>iop<_*v05eAzE@iI-zddKWKg_8a=DJ^Ilgez|C zjL(rY*IJMm5OR&m(>oH1^*?V{{mQ^@^~k*qXXGF=&Dci3edj|cpo%K>>IC&AOBTiv zxtv^yLe41CKYG(z@Vt2&i#!`~$)qjWJ#m4XG}N1k$N@28r9yGcMn+Q5w=^0;v82&~ zFg7)S{<4!WiO<B$m!2huRA+4w&6RZId1d%-ozsKO4C)Fq$PPuJHD<as<uJT^?yO+- z1PX2Nya#~Pk6nH({`fJCK}=mp+87$fRb*^*4*9x{stN^#0AN`XLXkn#!gqm5(?tzS zYVRY61@f`%mp^D`h9Le#?li^K<(S<=IkkD!%%xse5OvIejNX-^WC`%DLe?1>^k2Fu zv@N6(iMs7FiJIwvQkrO95NSH5a@dik#Jic8;kP)Z<+EB&-s5%Hs7g0P;kuFRR5T+; z5bV+e8oRCoMg_{nm9XhleM-vF9O)?lJn|bdOl|faZ;;&|$4*w>m307Rzm5w$`t<_f zYz+9@Wbv+iu*Qy*1asx$G$nO~<(6oCsFruSsT*UZLRI38VFec4%f)_25dnJI;rCF$ z{^P8Kw^oh0ZK^dF;x~?prxqJ(Ay4lM&E|pzf@!&n?R0%f44~+U_`q5SKol}MZ@i7C zA(<rcdDwJi0wrc<QrrM;y!q+T0$BhzV>&Si0uhRZK*491*quacD6nXuJDSYw+Dd5b zdas<?^rty4_t1hfc44tC;m6h+EKSvC>G^y<exoGna_!U06116NYY59o5_2KCzXV2A zXP~B@{TK--)~bK{9^S;>t+xfwF{mO&*9j86%~|$&FwHLUm<p`^HNpT>jJ>iQwfatr z&m~k5LVtsXqP>#Pb&|VN0`e7QkJPMMjDa$X@wd!gIQ1KO&i<VBJED5R>^q`*rz3MN z51j@2Qa|;PZDLS5VPObG#K3H2)hp2=E1U@Z)svP2C?9xGnbbM*Z|dQ-&$&%ZMq^K* zV1x^(J>BNsgA}HWT}&;ld)74mkUk7~x~QN5Vhbckawue$QRIbjiptInsw$ERYF`E? zekg`<YNC1ZS*XbnZrSH-q6u!dL{J1$ev{IKT9PUr+KFn}8D6b5T*~Q^(qfmS?vN@w zR!x$mPG3}LxH%b#OP<n_EM=C%v6&N2{C8odG<4)L4Wt-EmCy!=yB8=LQ!qStAIg6c z4pDAGIU*>r%gNCC&XKNzb_zg|K;r;w;uIUd#DWvs`5r~{6u*JN<BC(^ZKj9XI0a&x zFXqbUta9wp_Pq!r+C%d@1&QxnF@gC}Dt6+j2W(Q`K<ler<I_$63YUpcrBj_(j@1`# z6B?fzoap3{fb|aiCi*HU%LI;zxK?G2yDhPA2MrbCKst;~S%DnP720KFCWxf+=7-^} zUqOZih}HBLAPbEeZcL&;R=-&Oddtx<STteNeO^9<KUK6hyUGPKWHR>6&q`bm_HX^? z7Y4ZFdCksXs31N%0n6CnCAa@zcZyen0*x!)n0j{mU<xw22F{=w<EJ6}>MP0a7)+BV zmqMp!k_$4uCDyvkWzBw8Ele;;Z-@OZUu<_WaO!9LMMtbY$z-)LHB;I5Ab{ATH4zS5 zi1%h&xRWd<$215{B<Zf%*|1{DHKKm9m%*(qD||4A>q;+pasVrt|8G5Ud~jtYn|v{Q z?W|-fm?f6IzHSb>iQ`Eou1cpneIqio;d<2XZM@1k;pJbiN!RLY{a0SU;@UF4i`{jU zN=37GHACygm)^z`^?;dv@Z8<H*7xqrpZwfHT_^_qG@BUbPIa=C^5e3!_AMWF3~$?P z``Kp3+m#sYwfkZQNTa2kIdbheawt$g0^rrZ-C+n<OSL^!x`s2>vu<rFM_sSky-p^A zsOYN<$x6rZyAmEx7C}1ar3u4!Jy#FV&@7Oo3VpmL27_siu<X4T+xZqo5G6!3f0-t0 zb-caA1=Gybo^rc(=a(Vu(Yn9Dlt=}WM6p{PF_`6<i5;ZW|5AelO|eM%A(p2@vlJK& z;%dk)Tysetx5k7>0Yoc8NY(PT`5jQH2PoJPL+;>k`TStlVR^LFwtaC@^7f2*+gZ0* zI_LZmB9LvX>vt@^0*%7{UeazZ@9*YkJb6<^7+HRqC)@~SOc;|ke<n_u`MDHNITcLg zgh>rAL6M3QWR;=(SqtYbi9aMzDK6hloX}a1W6@1wgIA<POGZYnI!#USBU5!YZxaMh z*}%p`DE8xGbV-C2*}OIuEw}P>8O&Gv1*aLkqWG^__`eEW*#7rf_^+m9{MHC+&!sv{ zLNI4s#}HLbX*SVl1S~LQLi;eFj<A~iqERv~9oBU3>}J%oog+&U@>5`Q{af1Y-@o=o zZ|B(9yC{-HHd;F>qw4k5ejcT!O~JsO%aOfX-CmEzW%e%BHa5@G+kU>oy1tLKXW#v~ zWc*t<NhFaCt*xCb(?$4Swe@nHW!`(w_m(+djz{Ch%(xCIV$HjcGuLw3#xf<7oBq4s zUl+CR(4v`)^a(NKdPSVdYUb>onN+zYGOdcOojmcyox;E_sF87Uc3dtuXO3n?Wt+Pf z75H&>Rv&Szc-bw-jk^5zdp~aG6Jw7hy{w{7_h{&0qlKAdyZ2!AFgbvRX0jSaF%4|M zVi9Gxf&_MU<+=o>;q=>ANo@*{b(P4VHgk%coPPAHdUx5T6D9i#`iC@rJS?b5qE4-f z%d@uA!X>=|AC62f;=dku!7{$w6JyQFzkB3sL7OZ!sfvxKyc);-JWMb)OD{EG`>_pv z9b9jlEfm#EV&Ijj*q5{`3I_GC<vqslB^3W+u*JZeT(-Q#HRlQMf6SK>2OQT|r<b6e zbk!eg{?SXT%EDaN`R+6OZ@)%2Y5vI#b`MUIE)K}?F9B%7D92Q@P6T6AwnGYj8<Xj8 z+<<Q)`8uQqNR5)kXozQ4^d;B8^+e+#88{=6t>q_Y`jer`1U3BES_D|GTMrAECpIy* z-uI4$GxGaEt<_;XdR2ztXr{Cb8PvISK=dsvWw2vLfp5A5-*fSc*&F^gRKI0*VETbn zd2fg0>>wYX-)L$scB*)%(dz^|Zi@`wN7jo(6E?8f1f|^-J{wBH{O-*gN83lG3!u#T zYqM?av(CTmf&TMxu4$D#<27S9^Kkgt^Uy0UHL3L<{vy}|*jo-EVbZ`uXffRSy=Xq5 z%d`blpemHXP;%TZ$McPAAO1v<xLKEY8GRhYzF5$^?=Du^m6>yPj(juZ8UoY<m{^JR zqD#B-HRl5terNI8AOF}arkXy`O9IfE^)Effv%3cJfyAr#$hyQCX0SUYXzK7z5sOa? z>9OBDDnv^y<eF+oX){o=f`J6>Ff@_4VDH_{y=@_aw2WA{g#T{MaS-2~6@Iy%BT}z} z?UBIuLM9dg^a}Dv)u!}?l5T5s<{PP^m{G|;s%)<|vRn%vn0|?QTKwRfOi3wRhRR_D zz~y6WIA&q$W6853<q<a9>dd&isB8{X)<&FX8*(*O&yKJYEMukm_{X3z?pta?MJDvx z)dI}`=epn;{~3Fa2>-C|(*;@D6<Ohd%_^p;z)3U9&ibLNvu?tDB<GzXS?+foisR-e z_#3suKY%vT;~2Efkm`i9w|dY)nLdyjbCs9UKZFqKmnf$txTK~p5N^{-+7m~(ZJ)k_ z-@G;wbX$FT3og{PnMa<VKkn?=41?CCS6~R^3F`p%C^ibImjy_S9X8|uRu*sXbXt~8 z)s7YYi0qgK`&Piu=?S4tuRANH?4x3JqMZRX;F;b+KF0f<K$aTb;fR{6Hu@*6zSS3n z_`L6pI<|9l`Oc`_%}Gr+Z;9r&T)Ccg339a{%`Q|-(Y5#I|8(I-s;beL10kyJf^ODj zAn924lI=nbcnnlRSe#e7)$q#W@K^qfIh}FWM>?S8X~q-@Cu4X#``KwpNV$cwqU<}y z=5WKU6ctg6`Q6|i-S5RJq2S|&c^`L%`m_ez5)t2vCJM4!M92&KBiSx@9aw;~Oueku zs6&HrY`u}tdwVul`Kpf>-O-G*8RDcX*1i1;9M0I_btm5vwA(@G!;hXI?rtqmwpG$F z(x0JhX?B5Js78vQ#0b_0#0}|Dp^?DuBo}~Lf^(K)4AOHMNDi=eP&dHx)VF|VL@T|s z0wL4j;nX-)&Tt=*8<h8oOUL?!kIi7qx;xJHHPTYd55uA`2Q!GP2}~Zzu5zKDjCp3! zaHfZG1Rm6!AgU5_aCFoJrrff$9{G+uY8PD9|2dxi#DoL1ksNPxD8n)@2Yd_9f@)W; zwsE6s!_0{a6p&JIZrH!znp+(E>Gc1(I|K_uZazjbb_}=nx1jqXltzyBN+IJRA0w9Q z?6%f&qCIEl9w*`Fmc-yMD$BKj`B{tpSRYF&NqC|)pRq_O2njgN=RiYAAjQdDQ((2* z+GHCQTj=*`zh!|3LaDiZRQNto<lQxv8%PIc;!h_hTTNgm9*I_9JIxd!$H9^R%MS%0 zoCI|l{o&vQ-|`Shj6H?J568QF=`q@_H_JS(XGq{QR!a+n7Ka0Fy&DwLr&sLXv=i$G zz594Jt9f5`3ouO!snDoTbQo6j=%K5Y*Bo6D0y3~neOF2)=`4JY5hR)>q-G1Hx<Mnr zVEXl)`?fsaM^U8!m2u%<LWVn#{6WleAU67j16NO$Qt~odR$3;SWpG4P4xc50z4KBO zsw$SQpN(n=*)b7yBpe6i8MSi{h%?+*)ysnM?TAuQ&YZNDs~?PWo?L4t=8)w_7?n+; zx<N;Y<659+gI~xR7_l4tsHJ6#=0s{sNAR2fo>P+snYK?hJtG;*7|9_E9LjLw(Dne) zC2?rFhiZleuL}5=M|S`)&ng=p3CO{%1%wA;4C5F#5!(qNeSVjtE8)=qeE?!X#zt-# zyhki<+2F7Kvq~jCFK7cS_r9AZ8YAb=P@`jwgWsN}0*gnS!`A&1L?2hj%X6sz_z}un zZ~-<s(c*X>N=ddD<a#@m%)_!qOgh%If0hrslMfMBscviBKpjtXBS5@;Dyw?tmh-oE zawU^4&C#{cKbjoERoiA9{Kn7($_b3{%^?ZnQG$BtKk7-@klT857`Vz`Sv3wC*og0a zf<pXVAo`^krZNsG>x@t*mN51e4I0v{v{^3k<RF)W^v<TWB~90Yc2wzC`C|K5p$>I; zsW1>nf>D1b09;NQQYsE9?5YPYXy@l!=4U=vIz}O9BoMo}2ZkM^&F?iBU-SW_qJ^PE zlD-6{U1dV3aKhTXIuP}C<Rh~3!u<_IHd2I`hjBk{uYljWQ$Ixy^G?37hDM1RgM=)l z^(v}t1q0R;zom;PV!MUIBxqopoyUkA?=jN30TSUo99TG>3Ang%<O1})b4*!=^;g>F z0>|q_l+a(qJ3R|C%Zty&VI_}RiHxwGR8W3{x^)Q(D}G72;cvZ4$MtLa`KDcc)&`P* zYA>B$TlT0&SBBpWe$=!bE|0bAmsUFC)Zf6e<4!u0J&}*RUwx=7BDK?Vln;P4fI_?5 z2YFydYm!myJNTCSgI{Qd0>iU#MXh0-rHD>8B-K@af`Gg>Dczs)P1_0xo(=aB!y2_a zP4+{o@FCPCM3sy$a74No@SkkRQR#L$Y-!Jio<xfx+mNfHx?G)3K{}6LXg<OpnFKDo z*Fl?_tIB1*0o1pjIMR-7L~4~J^2;AD8-)END1nKxTB82<UA#cvqIxYZE<2lnUQxnf zBIGuN4=K0lQw)A!0^R3$A=m)cM3=C(3#EPh#b2OF*p}@7np6MFM#ReeKih~>wKSdo zX}14r7Zk3gE2v<F682Jk8*<wwu<dQBs(6My3nXH~tl`G*>i&LxJb~g7$Ej&oBK3no zuweQ6Y-9Ky4(9iae`S-vsG2QgAAF6VU!=2ZX@O%nXvBKB|DMd^6ZsbVroLzPwDZ@L zxBb&yue<q=w=F(5g)zePzS1{?857<88)Pi-?cf!!zRjW&Ax~dk5K8nctuY;rPB;Il znt)y|DQ|f*cE8TQi`l)~vp%ANcib_D5#~AM{jqW=GFBmv9IR5|VVv=a&3&D{ycY3q zvM~49;c>epM1I1wUjy9t(DDc9ZCxnvWAsm|NfTHNf2Uq60rNQ)6?oZNP^<=LyY}^x z)I~1wH+mYTZ4*3-vA?g;MA8p?$?^QIHksXH+ki=UU#^$N-u@^%;1%9>TaPBw3>Al! z8#bNt!^+@{_)(4gX>B9k3W7@w^PNX?%7KlyI1&aWbiLC&Sm(p9YQfCl$aCU60Adf0 z1?RGw4~f(NFy74nJGI94MeEGWaKE<V8twfxlFONV{W{Mk{H)OV{^4e#OSPeec(~Db zj=jgH=!e1l`bv)CgF&u$Q<mz!1Lu}v8j9WDngNedG4K^R^xbS#?gwxj#{$uP?HTc% zm*2Uu6Nv|6%?nYaF{}tNK*APvSihm1PN0^#Vu#{DGzF_XDrEPWNEufv2%@RtIh_KJ z&$sZhPoa$Ze*W?%up8BLVG>+0k?(73B|QMvY?%q+1(6(ti~l&lbgmuB75w*=r=<q( z1INY5pz<sf4H@kE>TxFbp|P}y=GglshU>eJN~K0^&LQal$HRma$G<Y{W|WtZTNd@4 z7v*`swQD!Iaa;u=PVk6kK~}M2Ocy|EQ+w{@-|s%=6*>QdHp6J<o4@;;-2K=$(6{`8 zn$N;nfK<(JZPWdh|C<6>kk32HP$`u(F1hA!8MT+;z!j*UCZu6z5wE*yY)	fF!A6 z!*XD(j&LG%hQdy;VjVf#4$Ixkyo2+`A^NHG(9YV%6~o%TJ1pEcK;9!4R|;EgX?%*c zIG5JwUTyHYje)bRakitpSfW~Dq#5S@&}vCuAj^s6rku|zb(yM>wu22>$J*uQHf;!% zMA7OsfKP}cvG?Y)Tb)fr9d>ZdpMCS?l;zdRoVlZWUjX+Iw<udSCc9##Irp!=$IFsa zkL$^OxUDSu7n>o*g*-xyGQ}3v(t8lCAj3hBg9l(>!GCRd7msERba;@<e_uEvnlYlA z+KHMlhO%cG_5$k28ywhjrP{_aK~Y#XC5V|)>_#y`C4&7bjHPVXL#+KoA@2nY)}6e~ zl~%y`iQL$WI8_T&4{$le$_vG_;a=Ertx?4$^Uh7+Mk`yqvEzwRhrJr#6S|Q3LS{wY zWGo&H7K@Z495Q^F?gNUc{36)mCxmUy`p%JM<t2cyX#NG-IaWcCsOkb|1aJtU#gql2 z+5FmbN9?c=BdUpl5(|<QboyHD%cV?4bN_XIaSy+yngz-vGi;|@BD_(-8IhMeYs-B; zz%U<=o@?cW1!YxV91zl|9~U3*@ZuWlfotQ7vKGk<uZLPC5YF7VA`D+TJ9Y=m<iz{* zfNYfa)iUFo!XEra6*V3_v5}K|RHs75EB8*_%(0IhfujGktg|YvrROz2r=#mqPzm}h z*P9Y@R@fZVc~F%ls`m?mkR-AIOZv2fBuO0FpIYWa-^am|FHVr4n*+DCX2yes(l`-Y z$eyX_kSVbfnTa6ZP(Ujg&MNcj!3^JKZyocQV9?`tk+omZZs3DOEX8qVf}Ok^Cn z3eqX<!^mNd?>Bij3UMKS?q42Y&UD->a##lv6#GQpQv@1k&dcfP9CEQx#h9zjHJ9C^ z+Jf?<h}~0{$)vKav#REXIt5GSKYSZhaR(HPRAyY{TtTC_R$e4!BlL0E-LKPYb(w1i z$j4-^Uu$%_2UgeCkpkO#jyj);3u*$MaBfv-yaV;=8ZpaSW(xuM>`7V)$C>OW=n(+0 z$#BV?*-BhnKXi>?+!njcNC=K*Mh%!8zHmOn60Ykw`R%Q|)#HFSB-*we?x$4jDSx5G zB*GiKYnUtP1|SmGZvY3&shJf60~iF+c;xDpM(;GRmxpp5;(4@N60nkm4{>s|{PqZf z70RjRglMzAi?im9r(?=l!So>njZ0W48YcjCfN=kTIz6y-c8?jyqX@wAH-zZ5$o_~N zpTb(ev6eU{?pvWGXZZ;|jH~8}spvWTxD%dvO_1xyldKtY)I@?H7-m!?(>Zq;ky)eL zD67MDCBab-<lx;~`QcVI=7xkU00&g0{lmegf%!@9haBu#jpa5cL5u?}zmC<!5=Aj( zkmTmY!w6fAq5J|k)M%zZgP!zKSuv9Cgt570XbCcj)gpeDY;+<XJ2u!zLU?<Y17?C@ z(kRR+7kl=RM;p8;Z4S{O#aYGWj{w{E+%^-4iG`DUCwiQa6qn>dTmWY5==@@%E0Sb4 z&~ldpk3z$y2>EtlOCcf;3ezWarf!5ElT3uRp-qxO)S(d~sUs_RV%V!+mDnxAvKm@f zo=$kiYC1ryJZA5N5Y|ebgC0Z|kGXLeVb!0ts~vhS1!XQW+FhL62bD!u!s4Ky3clmH z<=XM5RtfiezCzdmW`)0XaI9*MY!C91h!5KLF3Z8=aU8kS##3Q&Lfv>~WNiD$$Y&(~ z=?cF*H6U>S*jsx)GJzO~N)VV&0hcnj1Y7p^O8m!82D}u!wqfYW_ZtSOnc!$(g>|ZY zer*T_Fqm0Su8kzaN%AgDm%}}MEC2D3lR;QM$!rgmQ167)lbe`40$&FBsH?e)hG?)| zyaw^WWQ$jW#v%qONd_SBy9ll!jVjj|r+N_%0A`blu&YsW=<+bC&O`zMCpF7_5}!8S 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≺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%0AZf-#Nv2oKzN(V*)9~( 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 literal 0 HcmV?d00001 -- GitLab