pax_global_header00006660000000000000000000000064137717411350014523gustar00rootroot0000000000000052 comment=b508843b04e1adc4e2cc9a04ca3ad53d8b1bbbb4 writeroom-mode-3.11/000077500000000000000000000000001377174113500144205ustar00rootroot00000000000000writeroom-mode-3.11/.README.md.texinfo.pandoc000066400000000000000000000066351377174113500207050ustar00rootroot00000000000000;; -*- mode: emacs-lisp -*- ;; pandoc-mode settings settings file ;; saved on 2014.02.13 10:33 ((html-q-tags) (no-tex-ligatures) (old-dashes) (atx-headers) (ascii) (biblatex) (natbib) (table-of-contents) (no-highlight) (no-wrap) (section-divs) (listings) (number-sections) (chapters) (self-contained) (incremental) (gladtex) (smart) (parse-raw) (reference-links) (normalize) (strict) (preserve-tabs) (standalone . t) (read . "markdown_github") (read-lhs) (read-extensions ("abbreviations") ("all_symbols_escapable") ("ascii_identifiers") ("auto_identifiers") ("autolink_bare_uris") ("backtick_code_blocks") ("blank_before_blockquote") ("blank_before_header") ("citations") ("definition_lists") ("escaped_line_breaks") ("example_lists") ("fancy_lists") ("fenced_code_attributes") ("fenced_code_blocks") ("footnotes") ("grid_tables") ("hard_line_breaks") ("header_attributes") ("ignore_line_breaks") ("implicit_figures") ("implicit_header_references") ("inline_code_attributes") ("inline_notes") ("intraword_underscores") ("latex_macros") ("line_blocks") ("link_attributes") ("lists_without_preceding_blankline") ("markdown_attribute") ("markdown_in_html_blocks") ("mmd_header_identifiers") ("mmd_title_block") ("multiline_tables") ("pandoc_title_block") ("pipe_tables") ("raw_html") ("raw_tex") ("simple_tables") ("startnum") ("strikeout") ("subscript") ("superscript") ("table_captions") ("tex_math_dollars") ("tex_math_double_backslash") ("tex_math_single_backslash") ("yaml_metadata_block")) (write . "texinfo") (write-lhs) (write-extensions ("abbreviations") ("all_symbols_escapable") ("ascii_identifiers") ("auto_identifiers") ("autolink_bare_uris") ("backtick_code_blocks") ("blank_before_blockquote") ("blank_before_header") ("citations") ("definition_lists") ("escaped_line_breaks") ("example_lists") ("fancy_lists") ("fenced_code_attributes") ("fenced_code_blocks") ("footnotes") ("grid_tables") ("hard_line_breaks") ("header_attributes") ("ignore_line_breaks") ("implicit_figures") ("implicit_header_references") ("inline_code_attributes") ("inline_notes") ("intraword_underscores") ("latex_macros") ("line_blocks") ("link_attributes") ("lists_without_preceding_blankline") ("markdown_attribute") ("markdown_in_html_blocks") ("mmd_header_identifiers") ("mmd_title_block") ("multiline_tables") ("pandoc_title_block") ("pipe_tables") ("raw_html") ("raw_tex") ("simple_tables") ("startnum") ("strikeout") ("subscript") ("superscript") ("table_captions") ("tex_math_dollars") ("tex_math_double_backslash") ("tex_math_single_backslash") ("yaml_metadata_block")) (output . "writeroom-mode.texi") (data-dir) (output-dir) (template) (css) (reference-odt) (reference-docx) (epub-metadata) (epub-stylesheet) (epub-cover-image) (csl) (citation-abbreviations) (include-in-header) (include-before-body . "~/src/writeroom-mode/texi-before-body") (include-after-body) (epub-embed-font) (filter) (bibliography) (variable) (metadata) (latex-engine) (email-obfuscation) (columns) (tab-stop) (base-header-level) (slide-level) (toc-depth) (epub-chapter-level) (latexmathml) (mathml) (mimetex) (webtex) (jsmath) (mathjax) (title-prefix) (id-prefix) (indented-code-classes) (highlight-style) (number-offset) (default-image-extension)) writeroom-mode-3.11/.gitignore000066400000000000000000000000601377174113500164040ustar00rootroot00000000000000/writeroom-mode.elc /writeroom-mode.texi /.cask writeroom-mode-3.11/Cask000066400000000000000000000002151377174113500152220ustar00rootroot00000000000000(source gnu) (source melpa) (package-file "writeroom-mode.el") (development (depends-on "ert-runner") (depends-on "visual-fill-column")) writeroom-mode-3.11/README.md000066400000000000000000000371041377174113500157040ustar00rootroot00000000000000# Writeroom-mode # `writeroom-mode` is a minor mode for Emacs that implements a distraction-free writing mode similar to the famous Writeroom editor for OS X. `writeroom-mode` is meant for GNU Emacs 24, lower versions are not actively supported. ## Installation ## `writeroom-mode` can be installed through the package manager from [Melpa](http://melpa.org/). If installing manually, make sure to also install its dependency [`visual-fill-column`](https://github.com/joostkremers/visual-fill-column). ## Usage ## `writeroom-mode` can be activated in a buffer by calling `M-x writeroom-mode RET`. A screen shot can probably explain best what `writeroom-mode` does. In the default configuration, after activating `writeroom-mode`, your screen looks like this: ![screenshot](writeroom-mode.png) By default, `writeroom-mode` does the following things: * activate fullscreen * disable transparency * disable the menu bar * disable the tool bar * disable the scroll bar * enable a bottom window divider of 1 pixel * maximise the current window (i.e., delete all other windows in the frame) * place the fringes outside the margins * disable the mode line * add window margins to the current buffer so that the text is 80 characters wide The last three effects are buffer-local. The other effects apply to the current frame. Because `writeroom-mode` is a minor mode, this isn't entirely on the up and up, since minor modes aren't supposed to have such global effects. But `writeroom-mode` is meant for distraction-free writing, so these effects do make sense. All these effects can be disabled or customised. In addition, there are several more options that are disabled by default but can be enabled in the [customisation buffer](#customisation). ## Multiple writeroom-mode buffers ## It is possible to activate `writeroom-mode` in more than one buffer. The global effects are of course activated only once and they remain active until `writeroom-mode` is deactivated in *all* buffers. Alternatively, if you wish to use `writeroom-mode` in all buffers that have a particular major mode (e.g., `text-mode`, `markdown-mode`), you can use the global minor mode `global-writeroom-mode`. This function enables the global effects and activates the buffer-local effects in all (current and future) buffers that have a major mode listed in the user option `writeroom-major-modes` (by default only `text-mode`). When `global-writeroom-mode` is active, the function `writeroom-mode` can still be called to enable or disable `writeroom-mode` in individual buffers (regardless of their major mode, of course). Calling `global-writeroom-mode` again disables `writeroom-mode` in all buffers in which it is active, also those in which it was activated manually. ## Frame effects ## Most of the global effects that `writeroom-mode` enables are handled by setting specific frame parameters. This means that they apply to the current frame. If you switch to another frame and display a `writeroom-mode` buffer, only the buffer-local effects will be visible. `writeroom-mode` tries to make sure that it only affects one frame, and that it restores that particular frame when it is deactivated in the last buffer. This means it should be safe to activate `writeroom-mode` in one frame and deactivate it in another. Killing the `writeroom-mode` frame should also be safe. The affected frame is always restored to its original state, before `writeroom-mode` was activated, even if you change any of the frame parameters manually while `writeroom-mode` is active. ## Customisation ## The customisation buffer for `writeroom-mode` can be opened with `M-x customize-group RET writeroom RET`. It provides the options listed below. ### Global Writeroom Mode ### Activate this option to automatically turn on `writeroom-mode` in any buffer that has one of the major modes matched any mask listed in `writeroom-major-modes` and not in `writeroom-major-modes-exceptions`. ### Border Width ### Width of the border around the text area. Disabled by default, see `writeroom-global-effects` to enable the border. ### Bottom Divider Width ### Width in pixels of the bottom window divider. Default value is 1. The bottom window divider helps in distinguishing the minibuffer from the text area, and also in distinguishing two windows split top-to-bottom. ### Extra Line Spacing ### Increase the line spacing. Can be an absolute value (the number of pixels to add to the line) or a number relative to the default line height. Disabled by default. ### Fringes Outside Margins ### If set, place the fringes outside the margins. `writeroom-mode` expands the window margins, causing the fringes to be pushed inside, which may be visually distracting. This option keeps the fringes at the window’s edges. Unset it if you prefer to have the fringes close to the text. ### Fullscreen Effect ### Effect to apply when `writeroom-mode` activates fullscreen. Can be `fullboth`, which uses the entire screen (i.e., window decorations are disabled and the window manager’s panel or task bar is covered by the Emacs frame) or `maximized`, in which case the Emacs frame is maximised but keeps its window decorations and does not cover the panel. ### Global Effects ### List of global effects: - fullscreen - transparency - scroll bar - menu bar - tool bar - bottom window divider - border (add a border around the text area; disabled by default) - sticky (display the window on all virtual workspaces; disabled by default) Each option can be enabled or disabled individually. ### Header Line ### The header line format to use. This option can be `nil` (the default), which disables the mode line entirely, it can be `t`, which retains the mode line, or it can be set to a customised format. Note that Emacs does not normally use the mode line, so changing this option from the default only makes sense if you have a customised header line that you do not want to be displayed in `writeroom-mode` buffers. As an additional possibility, this option can be set to the symbol `mode-line`, in which case the standard mode line is shown in the header line. ### Major Modes ### List of major modes in which `writeroom-mode` should be activated automatically. Use in conjunction with `global-writeroom-mode`. The elements in this list can be major-mode symbols, or regular expressions (in which case they must of course be strings). See also the option [Use Derived Modes](#use-derived-modes). ### Major Modes Exceptions ### List of major modes in which `writeroom-mode` should not be activated by `global-writeroom-mode`. (It is still possible to activate `writeroom-mode` manually). This can also be a mixed list of major-mode symbols and regular expressions. ### Maximize Window ### Maximise the current window in its frame, i.e., delete all other windows. ### Writeroom-mode Disable Hook ### Hook run when `writeroom-mode` is disabled. This hook can be used to disable effects that are enabled in `writeroom-mode-enable-hook` (see below). ### Writeroom-mode Enable Hook ### Hook run when `writeroom-mode` is enabled. This hook is run just before `writeroom-mode-hook` is run. Unlike `writeroom-mode-hook`, it is not run when `writeroom-mode` is disabled. Note, however, that if you have a minor mode that you want activated and deactivated along with `writeroom-mode` (e.g., `variable-pitch-mode`), it is usually more convenient to simply add it to the option `writeroom-local-effects` (see below). ### Local Effects ### A list of functions that enable buffer-local effects. These functions are called with the argument `1` when `writeroom-mode` is enabled and with the argument `-1` when it is disabled. You can add minor modes to this option that you want activated together with `writeroom-mode` but also deactivated again when you deactivate `writeroom-mode`. You can, of course also add your own functions to this option, provided they take the arguments `1` and `-1`. ### Mode Line ### The mode line format to use. This option can be `nil` (the default), which disables the mode line altogether, it can be `t`, which retains the mode line, or it can be set to a customised format to only show some information. If the latter option is chosen, the mode line shows only the file name and the file modification status, but the format can be customised. See the documentation for the variable `mode-line-format` for details. If you set this option, it may be more visually pleasing to set the option Bottom Divider Width to 0. ### Mode Line Toggle Position ### If you disable or customise the mode line, you may sometimes want to see the entire mode line. `writeroom-mode` provides the function `writeroom-toggle-mode-line` (see below) to do this. You can specify where you want to make the mode line visible when using this function: in the mode line itself, or in the header line. Note that the default value of this option is to display the mode line in the header line, because for some reason that is more reliable. (Toggling the mode line multiple times in a row does not always work very well.) ### Restore Window Config ### Restore the window configuration that existed before `writeroom-mode` was activated. This is primarily useful if you use `writeroom-mode` in only a single buffer, since the window configuration that is restored is the one that existed at the moment when `writeroom-mode` is called for the first time. Disabled by default. ### Use Derived Modes ### If this option is set, `global-writeroom-mode` also activates `writeroom-mode` in buffers whose major mode is a derived mode of one of the modes in `writeroom-major-modes`. (Only the major mode symbols in `writeroom-major-modes` are relevant.) ### Width ### Width of the text area. Can be specified as an absolute value (number of characters) or as a fraction of the total window width (in which case it should be a number between 0 and 1). ## Changing the width interactively ## The width of the text area in the current buffer can be changed interactively with the commands `writeroom-increase-width` and `writeroom-decrease-width`, which increase and decrease the text width by 2 characters. There is also a more general command `writeroom-adjust-width`, which adjusts the width of the text area by the amount passed as prefix argument. That is, calling it with `M-5 M-x writeroom-adjust-width` increases the text width by 5 characters. Calling `writeroom-adjust-width` without prefix argument resets the width to the default value. These commands are not bound to any keys, but you can bind them in the following manner (the actual keys are just examples, of course; choose any keys you like): ```lisp (with-eval-after-load 'writeroom-mode (define-key writeroom-mode-map (kbd "C-M-<") #'writeroom-decrease-width) (define-key writeroom-mode-map (kbd "C-M->") #'writeroom-increase-width) (define-key writeroom-mode-map (kbd "C-M-=") #'writeroom-adjust-width)) ``` ## Text size adjustments ## Text size adjustments are taken into account in calculating the margins, which means that if the text size is increased, the margins are decreased, so that the number of characters on the line remains more or less the same. Since it is not possible to detect interactive text size adjustments (e.g., with `text-size-adjust`), the adjustments of the margins cannot be made automatically. You need to force a redisplay, e.g., with the command `redraw-display`. Alternatively, you can advise the command you use for adjusting the text size (most likely `text-size-adjust`): (advice-add 'text-scale-adjust :after #'visual-fill-column-adjust) ## Displaying the mode line ## By default, `writeroom-mode` disables the mode line. If you occasionally need to see the full mode line, you can use the command `writeroom-toggle-mode-line`, which makes the mode line visible. Calling it again hides the mode line. This command is bound to `s-?` (`s` is the super key, i.e., the Windows key on PCs, the ⌘ key on Macs), but it can be rebound by putting something like the following in your `init.el`: ```lisp (with-eval-after-load 'writeroom-mode (define-key writeroom-mode-map (kbd "s-?") nil) (define-key writeroom-mode-map (kbd "") #’writeroom-toggle-mode-line)) ``` The first `define-key` disables the binding for `s-?`. Substitute your preferred key binding in the second line to bind `writeroom-toggle-mode-line` to it. ## Adding global effects ## It is possible to add your own global effects to `writeroom-mode`. If there is a global minor mode that you want turned on when `writeroom-mode` is activated for the first time, you can simply add it to the user option `writeroom-global-effects` by checking the box "Custom effects", clicking the [INS] button and adding the function to the list. Alternatively, you can also write your own function. This function should take one argument and enable the effect if the argument is `1` and disable it if the argument is `-1`. To give an example, if you want to activate a minimalist colour theme in `writeroom-mode`, you can write the following function: ```lisp (defun my-writeroom-theme (arg) (cond ((= arg 1) (enable-theme 'minimalist-dark)) ((= arg -1) (disable-theme 'minimalist-dark)))) ``` If your function affects the frame, you should make sure that it only affects the `writeroom-mode` frame by passing the variable `writeroom--frame` to all frame-changing functions. If your frame effect involves changing the value of a frame parameter, you may be able to use the macro `define-writeroom-global-effect`; see its doc string for details. In principle, it is not a good idea to define a custom global effect function as a toggle, but if you are sure you'll only ever use a single frame, it should be safe enough. For example, sometimes setting the `fullscreen` frame parameter does not work. In this case, if you're on Linux, you could send an X client message directly: ```lisp (defun my-toggle-fullscreen (_) (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_FULLSCREEN" 0))) ``` ## Other similar modes ## There are two other modes that I know of that also implement a distraction-free writing environment: [Darkroom](https://github.com/joaotavora/darkroom) and [Olivetti](https://github.com/rnkn/olivetti). Both are narrower in scope than `writeroom-mode`. In particular, both Darkroom and Olivetti only affect the buffer (or more precisely, its window), not the frame. They centre the text by adding window margins, and optionally resize the text and hide the mode line. They do not make Emacs fullscreen and do not remove the menu and tool bars, the scroll bar or the window decorations. This is a conscious choice (see, e.g., [this pull request](https://github.com/joaotavora/darkroom/pull/2) and [this issue](https://github.com/rnkn/olivetti/issues/6)), motivated by the fact that affecting the frame in this way may lead to problems when using multiple Emacs frames. It is true that changing the appearance of the current frame (the global effects, as `writeroom-mode` calls them) is risky if you use multiple frames. `writeroom-mode` applies its global effects to the frame that is current when it is first activated and tries to make sure that *only* this frame is ever affected. Therefore, it should be safe to use `writeroom-mode`, even if you use multiple frames. (If you do run into issues, however, I would welcome a bug report.) Alternatively, you can turn off all global effects and use `writeroom-mode` in much the same way as Darkroom or Olivetti. Another difference with Darkroom and Olivetti is that `writeroom-mode` tries to be as customisable as possible. It has a larger number of customisation options than either of the other modes and also provides a way to add custom global effects. This may or may not be what you need, of course. writeroom-mode-3.11/pre-commit000077500000000000000000000011111377174113500164140ustar00rootroot00000000000000#!/bin/bash if [ ! "$(git status --porcelain README.md)" == 'M README.md' ] ; then exit 0 # everything's fine fi # otherwise generate info file and git-add it. git stash -q --keep-index pandoc --read=markdown \ --write=texinfo \ --output=/home/joost/src/writeroom-mode/writeroom-mode.texi \ --include-before-body=/home/joost/src/writeroom-mode/texi-before-body \ --standalone \ ./README.md RESULT=$? [ $RESULT == 0 ] && makeinfo ./writeroom-mode.texi && git add ./writeroom-mode.info git stash pop -q [ $RESULT -ne 0 ] && exit 1 exit 0 writeroom-mode-3.11/test/000077500000000000000000000000001377174113500153775ustar00rootroot00000000000000writeroom-mode-3.11/test/test-helper.el000066400000000000000000000001301377174113500201470ustar00rootroot00000000000000;;; test-helper.el --- Helpers for writeroom-mode-test.el ;;; test-helper.el ends here writeroom-mode-3.11/test/writeroom-mode-test.el000066400000000000000000000021001377174113500216400ustar00rootroot00000000000000;;; writeroom-mode-test.el --- Tests for writeroom-mode (require 'writeroom-mode) (ert-deftest writeroom--match-major-mode-test () ;; Match major mode symbol. (should (eq (let ((major-mode 'mock-mode)) (writeroom--match-major-mode '(text-mode mock-mode))) t)) ;; Match derived mode. (should (eq (let ((major-mode 'mock-mode)) (put 'mock-mode 'derived-mode-parent 'text-mode) (writeroom--match-major-mode '(text-mode) t)) t)) ;; Fail when major mode not present. (should (eq (let ((major-mode 'mock-mode)) (writeroom--match-major-mode '(text-mode))) nil)) ;; Match partial mode name if a string. (should (eq (let ((major-mode 'emacs-lisp-mode)) (writeroom--match-major-mode '(text-mode "lisp-mode"))) t)) ;; Fail when partial mode name is not a string. (should (eq (let ((major-mode 'emacs-lisp-mode)) (writeroom--match-major-mode '(text-mode lisp-mode))) nil))) ;;; writeroom-mode-test.el ends here writeroom-mode-3.11/texi-before-body000066400000000000000000000001611377174113500175050ustar00rootroot00000000000000 @dircategory Emacs @direntry * Writeroom Mode: (writeroom-mode). Distraction-free writing. @end direntry writeroom-mode-3.11/writeroom-mode.el000066400000000000000000000572711377174113500177270ustar00rootroot00000000000000;;; writeroom-mode.el --- Minor mode for distraction-free writing -*- lexical-binding: t -*- ;; Copyright (c) 2012-2020 Joost Kremers ;; Author: Joost Kremers ;; Maintainer: Joost Kremers ;; Created: 11 July 2012 ;; Package-Requires: ((emacs "25.1") (visual-fill-column "1.9")) ;; Version: 3.11 ;; Keywords: text ;; URL: https://github.com/joostkremers/writeroom-mode ;; Redistribution and use in source and binary forms, with or without ;; modification, are permitted provided that the following conditions ;; are met: ;; ;; 1. Redistributions of source code must retain the above copyright ;; notice, this list of conditions and the following disclaimer. ;; 2. Redistributions in binary form must reproduce the above copyright ;; notice, this list of conditions and the following disclaimer in the ;; documentation and/or other materials provided with the distribution. ;; 3. The name of the author may not be used to endorse or promote products ;; derived from this software without specific prior written permission. ;; ;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ;; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ;; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ;; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ;; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE, ;; DATA, OR PROFITS ; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ;; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; Commentary: ;; writeroom-mode is a minor mode for Emacs that implements a ;; distraction-free writing mode similar to the famous Writeroom editor for ;; OS X. writeroom-mode is meant for GNU Emacs 24 and isn't tested on older ;; versions. ;; ;; See the README or info manual for usage instructions. ;; ;;; Code: (require 'visual-fill-column) (defvar writeroom--frame nil "The frame in which `writeroom-mode' is activated. The global effects only apply to this frame.") (defvar writeroom--buffers nil "List of buffers in which `writeroom-mode' is activated.") (defvar writeroom--local-variables '(mode-line-format header-line-format line-spacing) "Local variables whose values need to be saved when `writeroom-mode' is activated.") (defvar writeroom--saved-data nil "Buffer-local data to be stored when `writeroom-mode' is activated. These settings are restored when `writeroom-mode' is deactivated.") (make-variable-buffer-local 'writeroom--saved-data) (defvar writeroom--saved-visual-fill-column nil "Status of `visual-fill-column-mode' before activating `writeroom-mode'.") (make-variable-buffer-local 'writeroom--saved-visual-fill-column) (defvar writeroom--saved-window-config nil "Window configuration active before `writeroom-mode' is activated.") (defgroup writeroom nil "Minor mode for distraction-free writing." :group 'text :prefix "writeroom-") (defcustom writeroom-width 80 "Width of the writeroom writing area. This can be specified as an absolute width (the number of characters in a line), or as a fraction of the total window width, in the latter it should be a number between 0 and 1." :group 'writeroom :type '(choice (integer :tag "Absolute width:") (float :tag "Relative width:" :value 0.5))) (defcustom writeroom-left-shift '(line-number-display-width) "Leftward offset for the text area. Number of columns by which the text area is shifted to the left (if positive) or right (if negative). This can either be a number or a list of functions that should all return a number. In that case, the offset is the sum of the values returned by the functions." ;; Note: This variable is the opposite of `visual-fill-column-offset'. :group 'writeroom :type '(choice (integer :tag "Fixed left-shift") (repeat :tag "List of functions" function) (integer :tag "No left-shift" :value 0))) (defcustom writeroom-mode-line nil "The mode line format to use with `writeroom-mode'. By default, this option is set to nil, which disables the mode line when `writeroom-mode' is activated. By setting this option to t, the standard mode line is retained. Alternatively, it is possible to specify a special mode line for `writeroom-mode' buffers. If this option is chosen, the default is to only show the buffer's modification status and the buffer name, but the format can be customized. See the documentation for the variable `mode-line-format' for further information. Note that if you set this option, it may be more visually pleasing to set `writeroom-bottom-divider-width' to 0." :group 'writeroom :type '(choice (const :tag "Disable the mode line" nil) (const :tag "Use standard mode line" t) (sexp :tag "Customize mode line" :value (" " mode-line-modified " " mode-line-buffer-identification)))) (defcustom writeroom-header-line nil "The header line used with `writeroom-mode'. Possible values are nil (the default), which disables the header line; t, which retains the standard header line; the symbol `mode-line', which means to display the standard mode line in the header line (this value makes most sense when `writeroom-mode-line' is set to nil); or a sexp, which should be a valid mode line construct." :group 'writeroom :type '(choice (const :tag "Do not show the header line" nil) (const :tag "Use standard header line" t) (const :tag "Show standard mode line in header line" mode-line) (sexp :tag "Customize header line" :value nil))) (defcustom writeroom-mode-line-toggle-position 'header-line-format "Position to temporarily show the mode line. When the mode line is disabled, the function `writeroom-toggle-mode-line' makes the mode line visible. This option determines whether it is shown as the mode line or as the header line." :group 'writeroom :type '(choice (const :tag "Use the mode line" 'mode-line-format) (const :tag "Use the header line" 'header-line-format))) (defcustom writeroom-bottom-divider-width 1 "Width of the bottom window divider in pixels." :group 'writeroom :type '(integer :tag "Width")) (make-obsolete-variable 'writeroom-disable-fringe "The variable `writeroom-disable-fringe' is no longer used." "`writeroom-mode' version 2.9") (defcustom writeroom-maximize-window t "Whether to maximize the current window in its frame. When set to t, `writeroom-mode' deletes all other windows in the current frame." :group 'writeroom :type '(choice (const :tag "Maximize window" t) (const :tag "Do not maximize window" nil))) (defcustom writeroom-fullscreen-effect 'fullboth "Effect applied when enabling fullscreen. The value can be `fullboth', in which case fullscreen is activated, or `maximized', in which case the relevant frame is maximized but window decorations are still available." :group 'writeroom :type '(choice (const :tag "Fullscreen" fullboth) (const :tag "Maximized" maximized))) (defcustom writeroom-border-width 30 "Width in pixels of the border. To use this option, select the option \"Add border\" in `Global Effects'. This adds a border around the text area." :group 'writeroom :type '(integer :tag "Border width")) (defcustom writeroom-fringes-outside-margins t "If set, place the fringes outside the margins." :group 'writeroom :type '(choice (const :tag "Place fringes outside margins" t) (const :tag "Place fringes inside margins" nil))) (defcustom writeroom-major-modes '(text-mode) "List of major modes in which writeroom-mode is activated. The command `global-writeroom-mode' activates `writeroom-mode' in every buffer that has one of the major modes listed in this option. Modes can be specified as symbols or as regular expressions. If a buffer has one of the specified major modes or if its major mode name matches one of the regular expressions, `writeroom-mode' is activated." :group 'writeroom :type '(repeat (choice (symbol :tag "Major mode") (string :tag "Regular expression")))) (defcustom writeroom-use-derived-modes t "Activate `writeroom-mode' in derived modes as well.'. If this option is set, the command `global-writeroom-mode' activates `writeroom-mode' in modes that are derived from those listed in `writeroom-major-modes'. Note that this option applies only to symbols in `writeroom-major-modes'. Regular expressions are ignored." :group 'writeroom :type '(choice (const :tag "Use derived modes" t) (const :tag "Do not use derived modes" nil))) (defcustom writeroom-major-modes-exceptions nil "List of major modes in which `writeroom-mode' should not be activated. This option lists exceptions to `writeroom-major-modes'. Modes can be specified as symbols or as regular expressions." :group 'writeroom :type '(repeat (choice (symbol :tag "Major mode exception") (string :tag "Regular expression")))) (defcustom writeroom-restore-window-config nil "If set, restore window configuration after disabling `writeroom-mode'. Setting this option makes sense primarily if `writeroom-mode' is used in one buffer only. The window configuration that is stored is the one that exists when `writeroom-mode' is first called, and it is restored when `writeroom-mode' is deactivated in the last buffer." :group 'writeroom :type '(choice (const :tag "Do not restore window configuration" nil) (const :tag "Restore window configuration" t))) (defcustom writeroom-extra-line-spacing nil "Additional line spacing for `writeroom-mode`." :group 'writeroom :type '(choice (const :tag "Do not add extra line spacing" :value nil) (integer :tag "Absolute height" :value 5) (float :tag "Relative height" :value 0.8))) (defcustom writeroom-mode-enable-hook nil "Hook run when `writeroom-mode' is enabled. This hook is run after all `writeroom-mode'-specific effects have been enabled, but before `writeroom-mode-hook' itself is run. It can be used for enabling effects that cannot be enabled in `writeroom-mode-hook'." :group 'writeroom :type '(repeat function)) (defcustom writeroom-mode-disable-hook nil "Hook run when `writeroom-mode' is disabled. This hook is run after all `writeroom-mode'-specific effects have been disabled and the buffer state before enabling `writeroom-mode' has been restored. It can be used for disabling effects that were enabled in `writeroom-mode-enable-hook'." :group 'writeroom :type '(repeat function)) (define-obsolete-variable-alias 'writeroom-global-functions 'writeroom-global-effects "`writeroom-mode' version 2.0") (defcustom writeroom-global-effects '(writeroom-set-fullscreen writeroom-set-alpha writeroom-set-menu-bar-lines writeroom-set-tool-bar-lines writeroom-set-vertical-scroll-bars writeroom-set-bottom-divider-width) "List of global effects for `writeroom-mode'. These effects are enabled when `writeroom-mode' is activated in the first buffer and disabled when it is deactivated in the last buffer." :group 'writeroom :type '(set (const :tag "Fullscreen" writeroom-set-fullscreen) (const :tag "Disable transparency" writeroom-set-alpha) (const :tag "Disable menu bar" writeroom-set-menu-bar-lines) (const :tag "Disable tool bar" writeroom-set-tool-bar-lines) (const :tag "Disable scroll bar" writeroom-set-vertical-scroll-bars) (const :tag "Enable bottom window divider" writeroom-set-bottom-divider-width) (const :tag "Add border" writeroom-set-internal-border-width) (const :tag "Display frame on all workspaces" writeroom-set-sticky) (repeat :inline t :tag "Custom effects" function))) (defmacro define-writeroom-global-effect (fp value) "Define a global effect for `writeroom-mode'. The effect is activated by setting frame parameter FP to VALUE. FP should be an unquoted symbol, the name of a frame parameter; VALUE must be quoted (unless it is a string or a number, of course). It can also be an unquoted symbol, in which case it should be the name of a global variable whose value is then assigned to FP. This macro defines a function `writeroom-set-' that takes one argument and activates the effect if this argument is 1 and deactivates it if it is -1. When the effect is activated, the original value of frame parameter FP is stored in a frame parameter `writeroom-', so that it can be restored when the effect is deactivated." (declare (indent defun)) (let ((wfp (intern (format "writeroom-%s" fp)))) `(fset (quote ,(intern (format "writeroom-set-%s" fp))) (lambda (&optional arg) (when (frame-live-p writeroom--frame) (cond ((= arg 1) ; activate (set-frame-parameter writeroom--frame (quote ,wfp) (frame-parameter writeroom--frame (quote ,fp))) (set-frame-parameter writeroom--frame (quote ,fp) ,value)) ((= arg -1) ; deactivate (set-frame-parameter writeroom--frame (quote ,fp) (frame-parameter writeroom--frame (quote ,wfp))) (set-frame-parameter writeroom--frame (quote ,wfp) nil)))))))) (define-writeroom-global-effect fullscreen writeroom-fullscreen-effect) (define-writeroom-global-effect alpha '(100 100)) (define-writeroom-global-effect vertical-scroll-bars nil) (define-writeroom-global-effect menu-bar-lines 0) (define-writeroom-global-effect tool-bar-lines 0) (define-writeroom-global-effect internal-border-width writeroom-border-width) (define-writeroom-global-effect sticky t) (define-writeroom-global-effect bottom-divider-width writeroom-bottom-divider-width) (defcustom writeroom-local-effects nil "List of buffer-local effects for `writeroom-mode'. This should be a list of functions that activate or deactive some local effect. These functions are called with the argument \"1\" when `writeroom-mode' is enabled and with the argument \"-1\" when it is disabled. This means that you can add minor-mode symbols to this list and have them activated and deactivated together with `writeroom-mode'." :group 'writeroom :type '(repeat function)) (defun turn-on-writeroom-mode () "Turn on `writeroom-mode'. This function activates `writeroom-mode' in a buffer if that buffer's major mode matchs against one of `writeroom-major-modes'." (unless (writeroom--match-major-mode writeroom-major-modes-exceptions) (if (writeroom--match-major-mode writeroom-major-modes writeroom-use-derived-modes) (writeroom-mode 1)))) (defun writeroom--match-major-mode (modes &optional derived) "Match the current buffer's major mode against MODES. MODES a list of mode names (symbols) or regular expressions. Return t if the current major mode matches one of the elements of MODES, nil otherwise. Comparison is done with `eq` (for symbols in MODES) or with `string-match-p' (for strings in MODES). That is, if the major mode is e.g., `emacs-lisp-mode', it will not match the symbol `lisp-mode', but it will match the string \"lisp-mode\". If DERIVED is non-nil, also return t if the current buffer's major mode is a derived mode of one of the major mode symbols in MODES." (catch 'match (dolist (elem modes) (if (cond ((symbolp elem) (or (eq elem major-mode) (and derived (derived-mode-p elem)))) ((string-match-p elem (symbol-name major-mode)))) (throw 'match t))))) (defvar writeroom-mode-map (let ((map (make-sparse-keymap))) (define-key map (kbd "s-?") #'writeroom-toggle-mode-line) map) "Keymap for writeroom-mode.") ;;;###autoload (define-minor-mode writeroom-mode "Minor mode for distraction-free writing." :init-value nil :lighter nil :global nil (if writeroom-mode (writeroom--enable) (writeroom--disable))) ;;;###autoload (define-globalized-minor-mode global-writeroom-mode writeroom-mode turn-on-writeroom-mode :require 'writeroom-mode :group 'writeroom) (defun writeroom--kill-buffer-function () "Disable `writeroom-mode' before killing a buffer, if necessary. This function is for use in `kill-buffer-hook'. It checks whether `writeroom-mode' is enabled in the buffer to be killed and adjusts `writeroom--buffers' and the global effects accordingly." (when writeroom-mode (setq writeroom--buffers (delq (current-buffer) writeroom--buffers)) (when (not writeroom--buffers) (writeroom--set-global-effects -1) (setq writeroom--frame nil)))) (add-hook 'kill-buffer-hook #'writeroom--kill-buffer-function) (defun writeroom--set-global-effects (arg) "Activate or deactivate global effects. The effects are activated if ARG is 1, deactivated if it is -1." (mapc (lambda (fn) (funcall fn arg)) writeroom-global-effects)) (defun writeroom--calculate-width () "Calculate the width of the writing area." (if (floatp writeroom-width) (truncate (* (window-total-width) writeroom-width)) writeroom-width)) (defun writeroom--calculate-offset () "Calculate the offset for the writing area. This function returns the offset to be passed to `visual-fill-column', which is the opposite of `writeroom-left-shift'." (cond ((numberp writeroom-left-shift) (- writeroom-left-shift)) ((listp writeroom-left-shift) (- (seq-reduce #'+ (mapcar #'funcall writeroom-left-shift) 0))) (t 0))) (defvar writeroom--mode-line-showing nil "Flag indicating whether the original mode line is displayed.") (make-variable-buffer-local 'writeroom--mode-line-showing) (defvar writeroom--orig-header-line nil "Original format of the header line. When the header line is used to temporarily display the mode line, its original format is saved here.") (make-variable-buffer-local 'writeroom--orig-header-line) (defun writeroom-toggle-mode-line () "Toggle display of the original mode." (interactive) (unless (or (eq writeroom-mode-line t) (eq writeroom-header-line 'mode-line)) ; This means the original mode-line is displayed already. (cond ((not writeroom--mode-line-showing) (setq writeroom--orig-header-line header-line-format) (set writeroom-mode-line-toggle-position (or (cdr (assq 'mode-line-format writeroom--saved-data)) (default-value 'mode-line-format))) (setq writeroom--mode-line-showing t)) (writeroom--mode-line-showing (if (eq writeroom-mode-line-toggle-position 'header-line-format) (setq header-line-format writeroom--orig-header-line) (setq mode-line-format writeroom-mode-line)) (setq writeroom--mode-line-showing nil))) (force-mode-line-update))) (defun writeroom-adjust-width (amount) "Adjust the width of the writing area on the fly by AMOUNT. A numeric prefix argument can be used to specify the adjustment. When called without a prefix, this will reset the width to the default value." (interactive "P") (if amount (setq visual-fill-column-width (max 1 (+ visual-fill-column-width amount))) (setq visual-fill-column-width (writeroom--calculate-width))) (visual-fill-column--adjust-window) (message "Writing area is now %d characters wide" visual-fill-column-width)) (defun writeroom-increase-width () "Increase the width of the writing area by 2 characters." (interactive) (writeroom-adjust-width 2)) (defun writeroom-decrease-width () "Decrease the width of the writing area by 2 characters." (interactive) (writeroom-adjust-width -2)) (defun writeroom--enable () "Set up writeroom-mode for the current buffer. Also run the functions in `writeroom-global-effects' if the current buffer is the first buffer in which `writeroom-mode' is activated." ;; Save buffer-local variables, if they have a buffer-local binding. (setq writeroom--saved-data (mapcar (lambda (sym) (if (local-variable-p sym) (cons sym (buffer-local-value sym (current-buffer))) sym)) writeroom--local-variables)) (setq writeroom--saved-visual-fill-column visual-fill-column-mode) ;; Activate global effects. (when (not writeroom--buffers) (setq writeroom--frame (selected-frame)) (writeroom--set-global-effects 1) (if writeroom-restore-window-config (setq writeroom--saved-window-config (current-window-configuration)))) (push (current-buffer) writeroom--buffers) (when writeroom-maximize-window (delete-other-windows)) (when writeroom-extra-line-spacing (setq line-spacing writeroom-extra-line-spacing)) (unless (eq writeroom-header-line t) ; If t, use standard header line. (if (eq writeroom-header-line 'mode-line) (setq header-line-format mode-line-format) (setq header-line-format writeroom-header-line))) (unless (eq writeroom-mode-line t) ; If t, use standard mode line. (setq mode-line-format writeroom-mode-line)) (setq visual-fill-column-width (writeroom--calculate-width) visual-fill-column-center-text t visual-fill-column-fringes-outside-margins writeroom-fringes-outside-margins visual-fill-column-offset (writeroom--calculate-offset)) (visual-fill-column-mode 1) ;; Run hooks on enabling `writeroom-mode'. (run-hook-with-args 'writeroom-local-effects 1) (run-hooks 'writeroom-mode-enable-hook) ;; If the current buffer is displayed in some window, the windows' ;; margins and fringes must be adjusted. (mapc (lambda (w) (with-selected-window w (visual-fill-column--adjust-window))) (get-buffer-window-list (current-buffer) nil))) (defun writeroom--disable () "Reset the current buffer to its normal appearance. Also run the functions in `writeroom-global-effects' to undo their effects if `writeroom-mode' is deactivated in the last buffer in which it was active." ;; Disable visual-fill-column-mode. (visual-fill-column-mode -1) (kill-local-variable 'visual-fill-column-width) (kill-local-variable 'visual-fill-column-center-text) (kill-local-variable 'visual-fill-column-fringes-outside-margins) ;; Restore global effects if necessary. (setq writeroom--buffers (delq (current-buffer) writeroom--buffers)) (when (not writeroom--buffers) (writeroom--set-global-effects -1) (setq writeroom--frame nil) (if writeroom-restore-window-config (set-window-configuration writeroom--saved-window-config))) ;; Restore local variables. (mapc (lambda (val) (if (symbolp val) (kill-local-variable val) (set (car val) (cdr val)))) writeroom--saved-data) ;; If the current buffer is displayed in some window, the windows' ;; margins and fringes must be adjusted. (mapc (lambda (w) (with-selected-window w (set-window-margins (selected-window) 0 0) (set-window-fringes (selected-window) nil))) (get-buffer-window-list (current-buffer) nil)) ;; Reenable `visual-fill-colummn-mode' with original settings if it was ;; active before activating `writeroom-mode'. (if writeroom--saved-visual-fill-column (visual-fill-column-mode 1)) ;; Run hook on disabling `writeroom-mode'. (run-hook-with-args 'writeroom-local-effects -1) (run-hooks 'writeroom-mode-disable-hook)) (provide 'writeroom-mode) ;;; writeroom-mode.el ends here writeroom-mode-3.11/writeroom-mode.info000066400000000000000000000564561377174113500202660ustar00rootroot00000000000000This is writeroom-mode.info, produced by makeinfo version 6.5 from writeroom-mode.texi. INFO-DIR-SECTION Emacs START-INFO-DIR-ENTRY * Writeroom Mode: (writeroom-mode). Distraction-free writing. END-INFO-DIR-ENTRY  File: writeroom-mode.info, Node: Top, Next: Writeroom-mode, Up: (dir) Top *** * Menu: * Writeroom-mode::  File: writeroom-mode.info, Node: Writeroom-mode, Prev: Top, Up: Top 1 Writeroom-mode **************** ‘writeroom-mode’ is a minor mode for Emacs that implements a distraction-free writing mode similar to the famous Writeroom editor for OS X. ‘writeroom-mode’ is meant for GNU Emacs 24, lower versions are not actively supported. * Menu: * Installation:: * Usage:: * Multiple writeroom-mode buffers:: * Frame effects:: * Customisation:: * Changing the width interactively:: * Text size adjustments:: * Displaying the mode line:: * Adding global effects:: * Other similar modes::  File: writeroom-mode.info, Node: Installation, Next: Usage, Up: Writeroom-mode 1.1 Installation ================ ‘writeroom-mode’ can be installed through the package manager from Melpa (http://melpa.org/). If installing manually, make sure to also install its dependency ‘visual-fill-column’ (https://github.com/joostkremers/visual-fill-column).  File: writeroom-mode.info, Node: Usage, Next: Multiple writeroom-mode buffers, Prev: Installation, Up: Writeroom-mode 1.2 Usage ========= ‘writeroom-mode’ can be activated in a buffer by calling ‘M-x writeroom-mode RET’. A screen shot can probably explain best what ‘writeroom-mode’ does. In the default configuration, after activating ‘writeroom-mode’, your screen looks like this: [image src="writeroom-mode.png" alt="screenshot"] screenshot By default, ‘writeroom-mode’ does the following things: • activate fullscreen • disable transparency • disable the menu bar • disable the tool bar • disable the scroll bar • enable a bottom window divider of 1 pixel • maximise the current window (i.e., delete all other windows in the frame) • place the fringes outside the margins • disable the mode line • add window margins to the current buffer so that the text is 80 characters wide The last three effects are buffer-local. The other effects apply to the current frame. Because ‘writeroom-mode’ is a minor mode, this isn’t entirely on the up and up, since minor modes aren’t supposed to have such global effects. But ‘writeroom-mode’ is meant for distraction-free writing, so these effects do make sense. All these effects can be disabled or customised. In addition, there are several more options that are disabled by default but can be enabled in the *note customisation buffer: #customisation.  File: writeroom-mode.info, Node: Multiple writeroom-mode buffers, Next: Frame effects, Prev: Usage, Up: Writeroom-mode 1.3 Multiple writeroom-mode buffers =================================== It is possible to activate ‘writeroom-mode’ in more than one buffer. The global effects are of course activated only once and they remain active until ‘writeroom-mode’ is deactivated in _all_ buffers. Alternatively, if you wish to use ‘writeroom-mode’ in all buffers that have a particular major mode (e.g., ‘text-mode’, ‘markdown-mode’), you can use the global minor mode ‘global-writeroom-mode’. This function enables the global effects and activates the buffer-local effects in all (current and future) buffers that have a major mode listed in the user option ‘writeroom-major-modes’ (by default only ‘text-mode’). When ‘global-writeroom-mode’ is active, the function ‘writeroom-mode’ can still be called to enable or disable ‘writeroom-mode’ in individual buffers (regardless of their major mode, of course). Calling ‘global-writeroom-mode’ again disables ‘writeroom-mode’ in all buffers in which it is active, also those in which it was activated manually.  File: writeroom-mode.info, Node: Frame effects, Next: Customisation, Prev: Multiple writeroom-mode buffers, Up: Writeroom-mode 1.4 Frame effects ================= Most of the global effects that ‘writeroom-mode’ enables are handled by setting specific frame parameters. This means that they apply to the current frame. If you switch to another frame and display a ‘writeroom-mode’ buffer, only the buffer-local effects will be visible. ‘writeroom-mode’ tries to make sure that it only affects one frame, and that it restores that particular frame when it is deactivated in the last buffer. This means it should be safe to activate ‘writeroom-mode’ in one frame and deactivate it in another. Killing the ‘writeroom-mode’ frame should also be safe. The affected frame is always restored to its original state, before ‘writeroom-mode’ was activated, even if you change any of the frame parameters manually while ‘writeroom-mode’ is active.  File: writeroom-mode.info, Node: Customisation, Next: Changing the width interactively, Prev: Frame effects, Up: Writeroom-mode 1.5 Customisation ================= The customisation buffer for ‘writeroom-mode’ can be opened with ‘M-x customize-group RET writeroom RET’. It provides the options listed below. * Menu: * Global Writeroom Mode:: * Border Width:: * Bottom Divider Width:: * Extra Line Spacing:: * Fringes Outside Margins:: * Fullscreen Effect:: * Global Effects:: * Header Line:: * Major Modes:: * Major Modes Exceptions:: * Maximize Window:: * Writeroom-mode Disable Hook:: * Writeroom-mode Enable Hook:: * Local Effects:: * Mode Line:: * Mode Line Toggle Position:: * Restore Window Config:: * Use Derived Modes:: * Width::  File: writeroom-mode.info, Node: Global Writeroom Mode, Next: Border Width, Up: Customisation 1.5.1 Global Writeroom Mode --------------------------- Activate this option to automatically turn on ‘writeroom-mode’ in any buffer that has one of the major modes matched any mask listed in ‘writeroom-major-modes’ and not in ‘writeroom-major-modes-exceptions’.  File: writeroom-mode.info, Node: Border Width, Next: Bottom Divider Width, Prev: Global Writeroom Mode, Up: Customisation 1.5.2 Border Width ------------------ Width of the border around the text area. Disabled by default, see ‘writeroom-global-effects’ to enable the border.  File: writeroom-mode.info, Node: Bottom Divider Width, Next: Extra Line Spacing, Prev: Border Width, Up: Customisation 1.5.3 Bottom Divider Width -------------------------- Width in pixels of the bottom window divider. Default value is 1. The bottom window divider helps in distinguishing the minibuffer from the text area, and also in distinguishing two windows split top-to-bottom.  File: writeroom-mode.info, Node: Extra Line Spacing, Next: Fringes Outside Margins, Prev: Bottom Divider Width, Up: Customisation 1.5.4 Extra Line Spacing ------------------------ Increase the line spacing. Can be an absolute value (the number of pixels to add to the line) or a number relative to the default line height. Disabled by default.  File: writeroom-mode.info, Node: Fringes Outside Margins, Next: Fullscreen Effect, Prev: Extra Line Spacing, Up: Customisation 1.5.5 Fringes Outside Margins ----------------------------- If set, place the fringes outside the margins. ‘writeroom-mode’ expands the window margins, causing the fringes to be pushed inside, which may be visually distracting. This option keeps the fringes at the window’s edges. Unset it if you prefer to have the fringes close to the text.  File: writeroom-mode.info, Node: Fullscreen Effect, Next: Global Effects, Prev: Fringes Outside Margins, Up: Customisation 1.5.6 Fullscreen Effect ----------------------- Effect to apply when ‘writeroom-mode’ activates fullscreen. Can be ‘fullboth’, which uses the entire screen (i.e., window decorations are disabled and the window manager’s panel or task bar is covered by the Emacs frame) or ‘maximized’, in which case the Emacs frame is maximised but keeps its window decorations and does not cover the panel.  File: writeroom-mode.info, Node: Global Effects, Next: Header Line, Prev: Fullscreen Effect, Up: Customisation 1.5.7 Global Effects -------------------- List of global effects: • fullscreen • transparency • scroll bar • menu bar • tool bar • bottom window divider • border (add a border around the text area; disabled by default) • sticky (display the window on all virtual workspaces; disabled by default) Each option can be enabled or disabled individually.  File: writeroom-mode.info, Node: Header Line, Next: Major Modes, Prev: Global Effects, Up: Customisation 1.5.8 Header Line ----------------- The header line format to use. This option can be ‘nil’ (the default), which disables the mode line entirely, it can be ‘t’, which retains the mode line, or it can be set to a customised format. Note that Emacs does not normally use the mode line, so changing this option from the default only makes sense if you have a customised header line that you do not want to be displayed in ‘writeroom-mode’ buffers. As an additional possibility, this option can be set to the symbol ‘mode-line’, in which case the standard mode line is shown in the header line.  File: writeroom-mode.info, Node: Major Modes, Next: Major Modes Exceptions, Prev: Header Line, Up: Customisation 1.5.9 Major Modes ----------------- List of major modes in which ‘writeroom-mode’ should be activated automatically. Use in conjunction with ‘global-writeroom-mode’. The elements in this list can be major-mode symbols, or regular expressions (in which case they must of course be strings). See also the option *note Use Derived Modes: #use-derived-modes.  File: writeroom-mode.info, Node: Major Modes Exceptions, Next: Maximize Window, Prev: Major Modes, Up: Customisation 1.5.10 Major Modes Exceptions ----------------------------- List of major modes in which ‘writeroom-mode’ should not be activated by ‘global-writeroom-mode’. (It is still possible to activate ‘writeroom-mode’ manually). This can also be a mixed list of major-mode symbols and regular expressions.  File: writeroom-mode.info, Node: Maximize Window, Next: Writeroom-mode Disable Hook, Prev: Major Modes Exceptions, Up: Customisation 1.5.11 Maximize Window ---------------------- Maximise the current window in its frame, i.e., delete all other windows.  File: writeroom-mode.info, Node: Writeroom-mode Disable Hook, Next: Writeroom-mode Enable Hook, Prev: Maximize Window, Up: Customisation 1.5.12 Writeroom-mode Disable Hook ---------------------------------- Hook run when ‘writeroom-mode’ is disabled. This hook can be used to disable effects that are enabled in ‘writeroom-mode-enable-hook’ (see below).  File: writeroom-mode.info, Node: Writeroom-mode Enable Hook, Next: Local Effects, Prev: Writeroom-mode Disable Hook, Up: Customisation 1.5.13 Writeroom-mode Enable Hook --------------------------------- Hook run when ‘writeroom-mode’ is enabled. This hook is run just before ‘writeroom-mode-hook’ is run. Unlike ‘writeroom-mode-hook’, it is not run when ‘writeroom-mode’ is disabled. Note, however, that if you have a minor mode that you want activated and deactivated along with ‘writeroom-mode’ (e.g., ‘variable-pitch-mode’), it is usually more convenient to simply add it to the option ‘writeroom-local-effects’ (see below).  File: writeroom-mode.info, Node: Local Effects, Next: Mode Line, Prev: Writeroom-mode Enable Hook, Up: Customisation 1.5.14 Local Effects -------------------- A list of functions that enable buffer-local effects. These functions are called with the argument ‘1’ when ‘writeroom-mode’ is enabled and with the argument ‘-1’ when it is disabled. You can add minor modes to this option that you want activated together with ‘writeroom-mode’ but also deactivated again when you deactivate ‘writeroom-mode’. You can, of course also add your own functions to this option, provided they take the arguments ‘1’ and ‘-1’.  File: writeroom-mode.info, Node: Mode Line, Next: Mode Line Toggle Position, Prev: Local Effects, Up: Customisation 1.5.15 Mode Line ---------------- The mode line format to use. This option can be ‘nil’ (the default), which disables the mode line altogether, it can be ‘t’, which retains the mode line, or it can be set to a customised format to only show some information. If the latter option is chosen, the mode line shows only the file name and the file modification status, but the format can be customised. See the documentation for the variable ‘mode-line-format’ for details. If you set this option, it may be more visually pleasing to set the option Bottom Divider Width to 0.  File: writeroom-mode.info, Node: Mode Line Toggle Position, Next: Restore Window Config, Prev: Mode Line, Up: Customisation 1.5.16 Mode Line Toggle Position -------------------------------- If you disable or customise the mode line, you may sometimes want to see the entire mode line. ‘writeroom-mode’ provides the function ‘writeroom-toggle-mode-line’ (see below) to do this. You can specify where you want to make the mode line visible when using this function: in the mode line itself, or in the header line. Note that the default value of this option is to display the mode line in the header line, because for some reason that is more reliable. (Toggling the mode line multiple times in a row does not always work very well.)  File: writeroom-mode.info, Node: Restore Window Config, Next: Use Derived Modes, Prev: Mode Line Toggle Position, Up: Customisation 1.5.17 Restore Window Config ---------------------------- Restore the window configuration that existed before ‘writeroom-mode’ was activated. This is primarily useful if you use ‘writeroom-mode’ in only a single buffer, since the window configuration that is restored is the one that existed at the moment when ‘writeroom-mode’ is called for the first time. Disabled by default.  File: writeroom-mode.info, Node: Use Derived Modes, Next: Width, Prev: Restore Window Config, Up: Customisation 1.5.18 Use Derived Modes ------------------------ If this option is set, ‘global-writeroom-mode’ also activates ‘writeroom-mode’ in buffers whose major mode is a derived mode of one of the modes in ‘writeroom-major-modes’. (Only the major mode symbols in ‘writeroom-major-modes’ are relevant.)  File: writeroom-mode.info, Node: Width, Prev: Use Derived Modes, Up: Customisation 1.5.19 Width ------------ Width of the text area. Can be specified as an absolute value (number of characters) or as a fraction of the total window width (in which case it should be a number between 0 and 1).  File: writeroom-mode.info, Node: Changing the width interactively, Next: Text size adjustments, Prev: Customisation, Up: Writeroom-mode 1.6 Changing the width interactively ==================================== The width of the text area in the current buffer can be changed interactively with the commands ‘writeroom-increase-width’ and ‘writeroom-decrease-width’, which increase and decrease the text width by 2 characters. There is also a more general command ‘writeroom-adjust-width’, which adjusts the width of the text area by the amount passed as prefix argument. That is, calling it with ‘M-5 M-x writeroom-adjust-width’ increases the text width by 5 characters. Calling ‘writeroom-adjust-width’ without prefix argument resets the width to the default value. These commands are not bound to any keys, but you can bind them in the following manner (the actual keys are just examples, of course; choose any keys you like): (with-eval-after-load 'writeroom-mode (define-key writeroom-mode-map (kbd "C-M-<") #'writeroom-decrease-width) (define-key writeroom-mode-map (kbd "C-M->") #'writeroom-increase-width) (define-key writeroom-mode-map (kbd "C-M-=") #'writeroom-adjust-width))  File: writeroom-mode.info, Node: Text size adjustments, Next: Displaying the mode line, Prev: Changing the width interactively, Up: Writeroom-mode 1.7 Text size adjustments ========================= Text size adjustments are taken into account in calculating the margins, which means that if the text size is increased, the margins are decreased, so that the number of characters on the line remains more or less the same. Since it is not possible to detect interactive text size adjustments (e.g., with ‘text-size-adjust’), the adjustments of the margins cannot be made automatically. You need to force a redisplay, e.g., with the command ‘redraw-display’. Alternatively, you can advise the command you use for adjusting the text size (most likely ‘text-size-adjust’): (advice-add 'text-scale-adjust :after #'visual-fill-column-adjust)  File: writeroom-mode.info, Node: Displaying the mode line, Next: Adding global effects, Prev: Text size adjustments, Up: Writeroom-mode 1.8 Displaying the mode line ============================ By default, ‘writeroom-mode’ disables the mode line. If you occasionally need to see the full mode line, you can use the command ‘writeroom-toggle-mode-line’, which makes the mode line visible. Calling it again hides the mode line. This command is bound to ‘s-?’ (‘s’ is the super key, i.e., the Windows key on PCs, the ⌘ key on Macs), but it can be rebound by putting something like the following in your ‘init.el’: (with-eval-after-load 'writeroom-mode (define-key writeroom-mode-map (kbd "s-?") nil) (define-key writeroom-mode-map (kbd "") #’writeroom-toggle-mode-line)) The first ‘define-key’ disables the binding for ‘s-?’. Substitute your preferred key binding in the second line to bind ‘writeroom-toggle-mode-line’ to it.  File: writeroom-mode.info, Node: Adding global effects, Next: Other similar modes, Prev: Displaying the mode line, Up: Writeroom-mode 1.9 Adding global effects ========================= It is possible to add your own global effects to ‘writeroom-mode’. If there is a global minor mode that you want turned on when ‘writeroom-mode’ is activated for the first time, you can simply add it to the user option ‘writeroom-global-effects’ by checking the box “Custom effects”, clicking the [INS] button and adding the function to the list. Alternatively, you can also write your own function. This function should take one argument and enable the effect if the argument is ‘1’ and disable it if the argument is ‘-1’. To give an example, if you want to activate a minimalist colour theme in ‘writeroom-mode’, you can write the following function: (defun my-writeroom-theme (arg) (cond ((= arg 1) (enable-theme 'minimalist-dark)) ((= arg -1) (disable-theme 'minimalist-dark)))) If your function affects the frame, you should make sure that it only affects the ‘writeroom-mode’ frame by passing the variable ‘writeroom--frame’ to all frame-changing functions. If your frame effect involves changing the value of a frame parameter, you may be able to use the macro ‘define-writeroom-global-effect’; see its doc string for details. In principle, it is not a good idea to define a custom global effect function as a toggle, but if you are sure you’ll only ever use a single frame, it should be safe enough. For example, sometimes setting the ‘fullscreen’ frame parameter does not work. In this case, if you’re on Linux, you could send an X client message directly: (defun my-toggle-fullscreen (_) (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_FULLSCREEN" 0)))  File: writeroom-mode.info, Node: Other similar modes, Prev: Adding global effects, Up: Writeroom-mode 1.10 Other similar modes ======================== There are two other modes that I know of that also implement a distraction-free writing environment: Darkroom (https://github.com/joaotavora/darkroom) and Olivetti (https://github.com/rnkn/olivetti). Both are narrower in scope than ‘writeroom-mode’. In particular, both Darkroom and Olivetti only affect the buffer (or more precisely, its window), not the frame. They centre the text by adding window margins, and optionally resize the text and hide the mode line. They do not make Emacs fullscreen and do not remove the menu and tool bars, the scroll bar or the window decorations. This is a conscious choice (see, e.g., this pull request (https://github.com/joaotavora/darkroom/pull/2) and this issue (https://github.com/rnkn/olivetti/issues/6)), motivated by the fact that affecting the frame in this way may lead to problems when using multiple Emacs frames. It is true that changing the appearance of the current frame (the global effects, as ‘writeroom-mode’ calls them) is risky if you use multiple frames. ‘writeroom-mode’ applies its global effects to the frame that is current when it is first activated and tries to make sure that _only_ this frame is ever affected. Therefore, it should be safe to use ‘writeroom-mode’, even if you use multiple frames. (If you do run into issues, however, I would welcome a bug report.) Alternatively, you can turn off all global effects and use ‘writeroom-mode’ in much the same way as Darkroom or Olivetti. Another difference with Darkroom and Olivetti is that ‘writeroom-mode’ tries to be as customisable as possible. It has a larger number of customisation options than either of the other modes and also provides a way to add custom global effects. This may or may not be what you need, of course.  Tag Table: Node: Top222 Node: Writeroom-mode336 Ref: #writeroom-mode445 Node: Installation932 Ref: #installation1052 Node: Usage1296 Ref: #usage1442 Node: Multiple writeroom-mode buffers2809 Ref: #multiple-writeroom-mode-buffers3008 Node: Frame effects4026 Ref: #frame-effects4197 Node: Customisation5006 Ref: #customisation5178 Node: Global Writeroom Mode5764 Ref: #global-writeroom-mode5921 Node: Border Width6141 Ref: #border-width6309 Node: Bottom Divider Width6431 Ref: #bottom-divider-width6612 Node: Extra Line Spacing6826 Ref: #extra-line-spacing7014 Node: Fringes Outside Margins7181 Ref: #fringes-outside-margins7376 Node: Fullscreen Effect7669 Ref: #fullscreen-effect7848 Node: Global Effects8207 Ref: #global-effects8368 Node: Header Line8723 Ref: #header-line8872 Node: Major Modes9447 Ref: #major-modes9604 Node: Major Modes Exceptions9935 Ref: #major-modes-exceptions10120 Node: Maximize Window10372 Ref: #maximize-window10559 Node: Writeroom-mode Disable Hook10634 Ref: #writeroom-mode-disable-hook10849 Node: Writeroom-mode Enable Hook11006 Ref: #writeroom-mode-enable-hook11217 Node: Local Effects11674 Ref: #local-effects11841 Node: Mode Line12326 Ref: #mode-line12484 Node: Mode Line Toggle Position13038 Ref: #mode-line-toggle-position13236 Node: Restore Window Config13789 Ref: #restore-window-config13987 Node: Use Derived Modes14324 Ref: #use-derived-modes14494 Node: Width14756 Ref: #width14872 Node: Changing the width interactively15057 Ref: #changing-the-width-interactively15275 Node: Text size adjustments16280 Ref: #text-size-adjustments16487 Node: Displaying the mode line17144 Ref: #displaying-the-mode-line17346 Node: Adding global effects18132 Ref: #adding-global-effects18326 Node: Other similar modes20015 Ref: #other-similar-modes20174  End Tag Table  Local Variables: coding: utf-8 End: writeroom-mode-3.11/writeroom-mode.png000066400000000000000000005522741377174113500201160ustar00rootroot00000000000000PNG  IHDR8CsBIT|d IDATxyxyoUwKcWb NJHerͶ3I|LxcdrǙx P*WrReEkO=ǿ-0X/~0  \3l*wʼnc|w׺C vMDDDDDDDD>`YDB]h,.02퀜C M3 9-`o-aT;?|,1ם8=#Mbl0EdMDDDDDDDDd,`4 4ʀC VbsK~n3٘gyQ6?'Ң{Q>.0>x(wE}|~&Ͼ,v#8>h5:?&LqXAÓa6"dR^PUj'."5M0FcwX\ꛈ"g!LJ3>Xw_]lpjlM$y9 +MLVgn\m7}x 7;FƩ I+b6z:]dr,ZmY?7,^yhӊ%:٩^; XdF{mt^tEETb]g>v>t\e.1I?'B3]|1QS_Ta,z||.aͫ,no~ߺׅ_qF4X0@jRLcl#mȣ v8GAY{}6>Un'h;ᧉ1 ?$abayWןks  =!x0b4N?;?^ ,cEx.G6CX~<]IAΦ8y4>ͱveM]|eyOعZ;7N(-uP/sw9cM2=~dp4D3/ot}|W6dū'4&9ٝzYǷ>#)7Q>vݻbQ /36 TA޿$ž!6ڹi͠8Fiq5&YvjN6pئ /q/w=A( 0ñ\##qqxqa/&Hp8lgMVdHbUvcLV:(1- v 9YMh}gyœ˜&3mܴv$¼ꛈ"%EDDj8?x_]b_F/n˞z9_ 6;HNc^>Htwq`ZQJf?W9hKiv1>[y sC?& \ᰅi˂V' ,Nq`Ð6o##@?6#.e<4Ǚ7mfrӀp|Y`_/]6Hϯ'a(Hy[G#M,^{],r6iQl#a턘(rxKypm ndgihʧYe>ˣXc!CS7~3 NZl/ek,+ܫ3 Mzo#.nwS˖lg .] ~+DeIv_?7v[)0Mu sghuA'm 78s7EJ"""(Xccp(;fT 68H J'yLwLsXbw[^ n<|o\5.+ĥݽ~h a$9jX+do.r8Mb4ɿY91xv@b؂!ߍRg1bZ oym sg6bx̤?k.H(6.[;7o|[""""X&8&!l5阎Xg79șΓ>wȌ y儇鈍wp/́^@DDDd.og&>pLVlm3= ݒvۂ]v#z1x!:ϻx-k{Y YJDDD~QRgZ{/Xy|+0춰x/5L0Oףsf:F7{/TNNsxwk"-\bd2GcǸ-9/|+"""r?.""" Nձ>17^o#gjbyq} 6B\9GTcg۹2H+m5y4HXgo ̄zxӜMt{5ۦVn+&jaM+M> gl)O"zLr"w>@Iy qchzm1R}4wxʥLΌb :D#O$ePGxm$ffnI g!J+'khL}/oHouZCh#byh_= WB e,Nvw+3&=؈ut,]g*ceT;1'6u_pp2ʒ46PgQ5c1t ??9Bz #9̙S2(IcD5͉/+؜<ƹnXVɣ6.mœKA#퇈<|$b!襶io\'Y #jo*ؒ`#ףTye6r%UIa` ?{Y2vTb)$z{!\<*=PbbK(ўR ;Vr;bݤx[ lvXî'笙˶́Λly!v.fdOɮ'3 8RCW9pa|;=xsXsҠ9H0x?E?ǫ P7MO:s|y`w{g('vagGY<1"i94$7 2HǠI<±KV ؐ9v>8CҊN1#mO3?|K̔1;y26?\,?y٦k~ޝg;Q]Ć0 #;s8SicȌ9vy؈"2 {[lRZ]@ts=g|rL'f:aӶj~edN]jG+/_הu{~mS/lb{E!UWx}/( cY=ͭ_XsP|Aӽ[DDDd [b?RcOt82LoТ{hFrt2f"dSI&YT^9Itǐv NLfam&6y}kU4Tw 9l/97Uy!jpW(Xr+xV [,Yq6]dfēD=/Xϸ<ƅRv& Yf|*m`VQOѫWieNfI9VL>1b(uNS`9bK"|jCiUm+f$$|{K+a&7/#hZ@~bV%C,`oHjx5RxxG))yXv6Y)$!c xjC~|_ژJEs>˯CJ6O\3\.xUU  ȶqU3WݡM?$TW|#++Y3qJ~.qa̺],{^ؐCv\IEET%@_D=cJ63c)Ό W&فa(yp;3~XCT-9#SKy260)ȯez'0*OHr󰍼 +rpNJDKlΜbf(3\|gq-"53xS%0"8vo{ϒN:m3aEn|Y,jFLlG9%k CWO&"` },wQiq:Lp\ۤDXKtZѬ޾M+2;FIK 7a1ibhIJi˟7bu5RDTkTmYGps'scNV(_f=4 ;I3m&/Lӄ`pRg冉Gߙ$Oh0l8 fO;{ӷ:Yp*$?q\윴@",S\W S7w7_`ej- 'BX2H7טʈ-__uT_"6΍䧸ofZl3ĸCv".k3̽ Fs@EA,uĢ,һs)[ _L]ʓ<0\>iaiR1w?N*l#{E$ul>y؈gGM=J+Nʓ{8~KQMq>]5|2b1>+<$`;L:S[54,[DDDd,nf, ^{z1F)KfZ'nfY,kؙwKa#fnXzҚ63έSi2pၻ שp:uW 98˷4 x,3\ p~xMnFs}3_7E5x>,b'ud25w) 0,#!UҚY/ >M68!%7EPG@?p\Q}i`8 _ ~.#nH”fiGC޹&3mVnHX`^NROQZhgߪp2JϴzNy 5Ws>tk%:~uz6s7뎈b%EDDdrWpē4JS0$7v1S䶗ͮ]E֦.B1tˡڬ7]{lS _L~u߭<i{z1(B?Tfwdo&ԱyaL+a{Ź5yϪ T.gݮ 28Da(ށaUT5Gg^uE8~>9|qMDDDDd,r n|=C8S6ld=BJr>Fc,!oz|MJI70Hkwʈa :xT'c pQ~xH cSYHy 2 >rʲI3"n<-8 2ĩI^cϏrvo-5XĘ`Bc^F-Q/! 8Q?3mBc^Ƭ1bl<|x^ -y}xMZXc><˓sp]ᥚφ:ug OK>s"ꜝDX&#n;+c>_\%HZ^9O(ɫ>_H)nGtzCX!]Vȴ1jx71FF,|c>7bq<:Ls~񍤎 <6vOW|0v1(CQ[9<{LJeoyָQEc,2OwµA0]^ W;Rؽk䏷cϹ-G/l\dm s}gSԝB#kV?gw"SE$u,z8%#un?BcgWu}΍VScLo{"mm-i <İaYU@RLe^KOLq<]iP7S;+YKi#ycY4^e]ȮDO8 XxrJR7 bf,lc \ iP}9tw?:[F]m9k ȜH-\FI5gy壳m"b-O`3|͢]1F9zƱxW}m@͝ )qv?c_o@'MJ6llvevlo{`Q>f\g]æQ{hjKb%|},z/_mOEQ 9.Ls˓<,Sav]da\S$R";_ˤ۾6UKsz|IK#1@(eUQc:;ع#˿SZEAog{O{,oQ5BDDDD9 ȯP,B```GZG1 Uo,r*""""""B x < hXD@24p򈹗,""""""zqj 82Xa=/M7E~h=uhL8+ S򉈈L""""""""""""""K,"""""""""""""DhXDDDDDDDDDDDDDd,@PO""""wS;ĥK-:v]ZΝ>+NNz 'SoܡC>>G ĝYʧG{v2"f~\b~r={I*\͗ {bnŗVűyGFx}(~v;'o7ޞ;XOmdITeq8n)_[i^{!G¥,/GpXEDDDDdӥ, V~i }onĆњdXo}y\ZQTVgsqɋ?:2V`'ES:ꄈ>|ugi|~]"&&ۤ׻nW׿h"a#2L_I|L}_!ݽdڴJ[YMwiVNc-`Ǔ[sۛ~~rKTrwUt$owdذk}>Y`E!gzDY}:6 ;m v4lIlmaf.-ehLM1wQ^9+knbf!XNԝGTv\nqz<\GAu<IY?btw[.#yxE&`s{񙕱P2N/2py&\V/ύ .ՉlI!ڎ7;-'3A86m\3vS3x"@)vFoyi/+tLy0 LØhm8?v@ÑrŐ`0H(/fEGN1vN^׍+0YrnasNDDDD>cȢ`ab_O'3st>2,Dݹ_BHw!Mq,fij"F/-t #ohrFfRat t_'gy#;{ˈ"T=R[ m2&՜fBEfਢMoq%Syb Jb4~7q)^;Jsgv/<8~02%r=V'M1ʢ>~xP⻇m'+bG dkY8M:t4?9DC]yp}&ku١{DV򅧫(t8<{@ ;~)1 \9ş\KˈEݍq5[o :8P0;HT+riƌs}1,KtG3(2_;:~[}T }ĭ׶0x5u4>ȗ7韡Lw=֎,\׽ _f#mr1btp?Ao&kq|gmXAU. ܉qa|0 %#X*] v>$V3UqWNs71LPsՌoZOb540q;DgRbtsm gF1?Kj'2lnz63[I gᶶ?~]g5Sfw}4O \GVeR47.q#anoY޷fc;nRedpN{6vaWase[a4y6tsRg#IpG,cS)wq2glT %\]xnܪP?ǎl _s@C\́Swe|H,m.d}R/q&w)s]v#ѫX" b%%m셫gmdh9#\7+4Ml8bK"|jCiUm+f$$|{m"VQ&}4\Nb ]z^JF,Ǧ;!*%N--Ԏ^ט<*|Cn')_v7;B4`X$UŒq6YOdĻk}g$g7;yV؎K$j%{A$ ^fHp:Gsw~u;_nu%*uZʗ+|6y>N3Ɇ P\jSdY'r܀5 hqޢXdf Gi{&αӷ_Sc2^#uNl~ϒ,! hQLe߸DQ_ђga:-]>t}ZSzC=CӇEt$d-wk`#gH9K}yXIZt}4-4=X~pyFM)kJӖ;>Uً<`Ѣ5dDXl*Dž%Nv=-W$e40*e&OƵ46؍<9EtӐ$R5ۤ` :'YRbO=f?i+{N}lV}uk IDATr7)Vۡ;jCyY-2R yH(o=/vwPaFҵ>$i+oWj?3[;2zڔ>woí3 ke^w,۰NǨ<}@g*[|YG.Y/Nv#?{W ($'S Sn:p;Svi=r ݢ^75oP#љAM?:o~${_ZtcKBOnnws̩tekLYdIRH#}.Js7{|L|ƴJ}gXK[nxox\ckB^WHulH\ϔ{۔m+Nֵ{x7 WL82,Y70eW,MTܐt=cWkzo9P#z].h(PK~}pܥ+R_Na3aDi{uΧoÖ/YӔc e@C!SƂk?9nn[~FZ\_o@yhQ_h:m7m/ύ޴oIUI`xB,Hx HЖ'6"vDyFuȋ?;j[ɩʶ'+/ͥqYӒmnr%AK8\P|#%Eʌ 9B?>IDZ%{̵^7RطPf#^аS Ն^["4o.7|Юe2F5jCKE+' Κq!]A(,gY TKRHߚ1m6Gujů=t-koiȔb7?tR*r5\+,ʴS{ίSj6*}Л ?pGMӭ~F:t)ӑgv)ZRoUǔ鹍i3_̄ۧ$'G\^S!OIr=[$I}xC2C>6^о*)e yr\Ǻu~DAӫQ_n_j:{c 2f*ׅ= k RUFKըz2rhKPݢfTٵlECVo(Uԥ]S ~UFmf UsncJީmoڼ"m96HƧDxm~uɥjў {˞|#l׹3c᎛\)ؠL⛎?VڷO+5r-]6JHUב4Te6l֑kۓ+5us#DٝZ& ^NUϪ1@u '70Ve/WoS s׭1<򄤐soj)#٢68542!D_Z"[SգqFTu~zWH cI֪er6PFn6@Oy&$͝IyXf(zI;nVU^6 Ǿ1s|m"6CוAOn)J!.NlW\Ta|f=8EISG40>[m(}vTtSz]W̯ '"=rӥQӔu27=ĥ+g2HH)3\pT=3>icڧԅ*Wݪ<\S8%RH My9}ء ^k^ ڸPq]tQxI1yz"Yr*{J#o|[wF]آ&O6YT"m yw] -g[,y>w=^Bu([n:<ThG,*Ye*;u^MI*kR~Czy_::/e(55M>9UC jצ5ijm׹9Ssq\/תv &keAyZ^S]UE|tKIZ[HHW}L5UV]v'k%R*?#Uztbꛚu[[LE@%4n]E/7k8`jiƤFuBlWd)05R{RFZAuwn$N奩O7v*fK"{KS´lLSLwN;wwk0Tϯ2TsҦxҮwI6nG~WuE:rFV^xv}񁬫e-1FxAGktU.tʳdPn9?jQߔ;k3pC:ՏhɆ1%(/ƯKj\]ͫKZYxCvG*\ܘ+05զo.I:==RFW_(5=N.آs$,'^6I iiɚfk?5O;+rfڹmmi f9YR"}joW_b֤魟ԇ}~t-•JO w^^wdQRN*ۢX}zTԦ>]_؞$ë ~oVgDuҪ)ؕMK2e;wk(1Hr,X7]Ա:]Ӫ6[^|b85K )8Сms`]r)&̳ȺEʙs23VKTS}9xAZ|*s.3.NuAGtNfʏeR?xӥ>f*ֱ`V-UMv򀾻MSmmjj]QxkOMTåe;֨,ސd(9ݮD=P׭t}G_AW vUz6 vՉxg@m DŽ`Дj.k VY ӧ3{gz/?;fٳ ݪ;*UK^^>& Y,MCE9=j=N}KթS_ -fFazuӪc0D .`a(A` J?}Us2vap[ܮ>6.5_+ g$V*QZ+lwjWBBbU|)U+'!}mwbڷj|v= i#;hN@:[]ɓOərvj>C> e(SW,a"j7/>V5e*g@i_>ftp.C򏏨Onкԉ7V\3{9WtaQ-zi]J'gFZ.Wt^R/.VL4S>lw7z;z쨼Wf#w7oceVwth0_xN/Yh߾^VVMQ7iu[6Sk#"JwTӏE-ٴc!jY=ǻ屘r|VPYӌf'7oB1áZhաVvH2$#FűjkӋ_ީRѺ#.}bMg_Tk2˰P^ظ[Bq˛yrlҟ~B[W/jԞ\}gu~D1K25R{X҃JuEF+cZP9ɖ o9:b={/h.X8^<:9Mk5GޏVh<5Xm^xCX89gipsV#O$c(.@~mP}i2˙Y25r^vSOWkSڠsVIKDg6I*XqgH2ǺaՀVֺ JKU⾬CmVm{nv %)]OV'Nceۊbwt֗ky!KrtLb%%֠QuZl&2{.}պ\9sD|U92MWh}]%Ve۷lj>VC0tLcrFNfj6'OVܒINO, FBv >7f $/ SŽٵr}2tf\7xu1Q~}Wm̍0$îx{#J7>46IA$sWqaZ!՜<=gZ6Ŋ%-EA5յixdtsC2c#_ٮZ2ToB^EJf\u)sv=Vk16*NS߈+3 W0"53Cy֐.y_wB./U,g+"|'RМ9;뒽 OKgQ|C5}I[Ӕc OهL =#a$hBtlb'\ȒQg+o:עoHfȧ Wx2M9ݾq\pFՓ#[\N,+OSs]ym/'gRoUǔ鹍iW/B^fHnPk6#z\^$Ǻu~DAӫQ_n_hF^DRl69Lz]GRg#TlHr~tKS|pPo4OtW,hm&IFϕFVM|bHU1 {44n R/{Q;|elHCz;CO?TSlӍIM7Fml$.#5^[_]r)kBzG^՟ )7oB\aOxS+Y*JUfwrC9tA'5Tפ!S=U4٪!R!𩳾IG/Y*eYE/m͐:xTHKӔ[9՞>εU=ys<~bܞC}joW_b֤魟ԇ}~t-Uir7?Sqa"4tT5tq4^֤i]zLQflj;k{3QgoE.ɓMk+5̋HfsVf*xc=/T˘oSe/Wƥp}z?Bj;y@ߦ65S(q]+b,j;sYiӴӎՉb$+>szt.qPKrܴQKjniӱ:3ߦ]ωxv,D2V*WG'ջ5XWsGViS~_uTIՆJqW1d]ms]@q}ows\ѭ7Lu šD֦i4<NKNqF riLIBi:¼} 15ڠ-Ck&(̫oƝ^BV8M1]B3ݪ=U}c*{xw2{{g[VcPl~tfP}X 3 J(A` J(A` J(A` J(A` J(A` J(A` J(A` J(A` J(A` J(A` J(5 IDATA` J(An1uҥ׹-v}f{.,R]_ox54IYfv#^^6&-<D9{)HFІ gb^I3G3X$aards8(4:jDՏbv6=><{CciNJ/=A3BSeqVY<iAHLP?x{Lh\OX C )%.ajdPzHD͢勭Zd/_lke="u$ԈP@ ٕ%{ƽ0F_. ˵K:}Y3cWOjU[}O%1z4a2U/mQ޸W_Tp.3]p `pkԿVHԫ3W>jzigYyo(+r8CJ$aSc{}\?JLh8ӹ `zo~ߺۅiQ\RRb, ɪD%; :[~ħ^Ic}PRS_=WGP-]AmTЁNi2ƚ}zѯm~& Kiz ghͧw:rZ hy~Й1COmhs4שUn >QnW,z0͐5L9V~}P_,ZdU^CO.2uګuï^8mhOM9ᢶ?fY(p?`= J(A` J(A` J(A` J(A` J(A` J(A` J(A`]TCMzqZ"_yZɿm)N5\ZS1 Jn'!I)7oB7҇*O)5Wc?> o]Pgh^ÏTS  93.7_QEְ+VCm~vFK$fn5yt['(7 zFРީRGN&޿uj:WO6z֥%33TuA $\p24csL'ޔY9'LZj*zZRo\GmRM畝QgKlR'Lěrv`͸-NQlЭ.lRorr]>Tfh z۫sjUo89zҦKuSIpGћΑ :<Т']}rD'8ҵ"G1]M ^p ӥժߖ+ljWBBR0 +4˧ƳgU:ܣ!u]T`K(7 J_n,uepS$ڳ;ϭSvoxF[Ze JtX&OSZ{ZaLEuԞt\֟sثM?]O*&Ysނ1,=729\F$GE9E6>b ,y;ǐ="z]N_)$C%+TYelE td*͈2OZ%n_p%٢umjQ%hɁ_iI J6$Gb~p'hCqY%zvcvaM J2+6PhTG>_t2஻CcblyV z1 D2˶m2dȘMf[){4Ǎ.`yPRµ@fs\LgWewUg)F`畕 s+a Lg6TZ&le tT˨fdok@FN#~X|V*jԦ47uKsu?'&p(X2CyJ w'ݞFe{}HWN5 y',P{tl>6o6 Y,D 2_e'VjVpH<51|G`Kb2T Ő%L/~;fs_:oԢErwn>O1y׻^"0 S O@lV_5R٣z7P6eȪ[%zث>ꗱh>3_ɆEφRo$_{".4SoFUq}z"miMz[uC>1*,-ՃizsHRP͍:Zۣ.gHi)3kfNN$ӧnrUf|G1٥zr[2#~")s@= :XߧU97o * ~,ԋKkLwewH9z Z:@p m8p^oUc[R}T<&:OXuZ+ӏVh]ڕk>s̫UBE3C>wlu2+$3nwN5>Z?tB?Uâ[ҺDRgSz9-Ŕʚq5Ǧ5]>S7ve6jU@w~%wTTrHRݹ)gG;_B={ Iz*?wth0_xN/Yh߾^VH5:JψT[M1E۵溘eyMWӉzǴbKR4`KӺ-׾;q8aczV}kܼ2}S*wDW}2cw9hzˏk]9~YCZx$O*zUM^җ_j.;W_n rا~ªM6-s7*/I[ZP诫(yg=Ai)KA|]?TCl|T\+O3q\Uk$Im|?rJn eW_NXÞBKr[Tϔ!ӭ.,iK1O_=M:41yڹDXk)hURv iMn^UvjVo0K˺=QK-ն% / RŃkﴧ_FvYyvwOsȪVxEz9n(D֦+Ѭc}ˑYG)E)@7(` J8Q3 >ºIb}FJU0DN^k5)S(7f{R`P׫>hW\J=:Mӧ˪O#NSIIvY,!YeZ%W4mmIMV:ц[xhį/o|[wrGtC*)NCG/LWYJPfjyUѮ6uuȪ,T-Nv"C)ZVեj$)Wc82TH+ޣM˴yʊe2QUl2=\D҂jiPH3<.kgZRV0f\竚4Ҙc}l*b{tOZJ-B܋U4M GrAU*}J=6OƠjM\uE܆saj!nza(֦Ay笚jKKO~@_{j6ΓQsX?ՙ7$[B2]:T?(zlz8ʣ`n4nVWmY*24RyB~z\ m75ZwD~ץ]ڡO)˓jZuְ6g@b,׃1G\VNy[o96O?UKu5j^- )iPgon/ӺXȬm51faՀVֺh"WzXWehmйxUl-QAػ ARY֎;6b={)Z58Y }w˝Y1nyS>/N㵇.==T[Wk^96ū 0D]z!ZdȒ:ӣe5.C!uxOw:QZ^5qG*yQ"eOFi")cÈgURZ?{Wvx^TrHc3t%%˶dkFcz>gg=c3,Y#˭nu`gLsΩr{@Q@!0sN6 {_o+u}3 ͨl;UE2ӭM2ZKO43`_1\%=f\ޯ&2Y<qJ_z?VFUi &`a@2S@k٫Z;q#1p^!/Njz~ĸ7v *kw[ΟοgdzfiujÜR63:ϙ_zL9DvEovo?m*A˿CvEϯ%{WRaYmf #%Lǀ1f,)iڧ}SǍ6CsDA,ʧPi9LU=5LkS?\S{E];SAϹ3mPZsgA%.Ce\9Yu[9_ܓOY& XlCol?YT; t4Qs_~:#n}itM%>3SxGQIyȬ5,w$QQ5zSs$>]\uqB&B!-B@3H1י1::Y63rjeQ^MUևTˊuwA bPՅg *zk=DKc?J.沓[SNƻ[]xY'VdI*JmgTO5bp$=ÍK&-݃#I>k'Cute^zspoV]MUƋẙ \X)s+P~|/)JK^D!n )t`a*Li (L^ (/3Ȭ0hB7b0; H xRZ2ffSnLsxq'fVa:.qb:;M&ZWS( eIM.N^mݗ~ꎿLjf(FR]VLT 7-z 񸶎IzHЯm`#q"Jfh;O0m 1P@ѹ8ZruT]G5׵e1YG-śך hx]9wвt0 0n 2X|wbhxLbIJxyb'7ʅ9&B:+<7Bӭ8jIUE~'+g4mhSctt⃝|0gZfh{)ZOOg?aStB4+%N2c*m5CB8/뛿q6#Vҙ_ikQYMӅsVB!L !:H 1>wSnGl̸[}KdU ׹s\ [|Zly7Lϕ,k4N$L B!wl-Bt!ܩdztaH뷰 HVdUab"i#3v9őf'i8c!jwfN5dm;>7LNINqr!GAe5^b7;^)2<.vWx1zRH7X! I"V=4ȧ&ѭ^{Yw>:h5$+/;&Qf!˨3Jp'b[;qePbZf&Yy8)JXuM#/\pxzWm n?Hk{ٖ`䚱'|$S_뢇 `ϥܒ\Z//zV^~g}sxgLIdyIq+ǬD 0b^c[?ovu!Qtyr DZwkto&zswJ)vC $ǙF>׬\l{E ~lj _D7%yca|*mE|X)9sFN̅鶳@_^DB!XL !uŒM1ngdԏXכx8l! Hŋ>To/-~&g\S}{&V޽:\q^!l0m[83L0HO+FݖCkdQqn HD33աE ު.7:~tzN,8NVWx(L@ t4q=L J0c8BP#:z(3t]xI!QQ}R"qpXC"7~ϜDDo.X4j~afhs2xSF#f=X~.uי/?LgOWٙkmęjShaOxsgHP#zts#:Z8r #Karg&1rzK T29o 3׉LG jWm0qڛ𛜔+SQdc|lhsܚ՘l!/=]W-V_ #@`DGdWwQ2́(If„ؒ~2NhQ&! GhIǟ8p?r_%pl뷢nO#3ћ!ױ*'q5; "A?wۨ.ҍfUj87qQУS3a3Ώ퉎ϟ'Ĵf tpež8v hO޾JGMQh(4"Eň.ja х:sXp\e*cz+ˠGoYZl(aq!8EӀ(pHL=D˹G }^Lݜ ]}t8P7H GSqBF+Yyȥ4݆ig9&&r29O+9?3:DO4N!B{B!jTc92vPhW0BwF)%֞r:3SY^JǛ.g;>pX'<9B}[ ɺC*^AZ8㪛,;FQ3Å.NMlk+`#b\_qeYZyd#gU evL)Q._T3vxZ0,b<3Ǩ3$o$FώrW`G&;<Йa&\lR8νG62J)3lmS\cUs5 VL7]j;gvhi+z"X<[;8s.N n?7aS@wusF7!7jrΕ3~q/1^Z)\K05l 80^!&Vէؗn;ːZab,Cl"6=̵Ah ^;km uس ٛu>Gkw7B|]T.>]qx3p\3hYM/l -Sxl#]h䃳ŒKST2lO'e|lϢlmt\o 'M+-\kx<}~tPH/[>)?:;l,B_y>y4|vK 3]/kY'S=Lt{p#QOWXgfpk6~ rbBh*:XIi^Bgg|?aJL1e^V;O2ssu4 -9n*ߡ'"+踇=G2}_x 03׈f(|q鮿_2sKUl@ud\b?oL=}h)ߜWqUb ]f:lٕ>b7GKs68 df3xӄ8SLrL=yz` Q)+4xhl0!,ãct w@ݷcuB! p7)T.~́kS7Qqqfm>9pT'89KeON։NQ$-;lC.56g}ӁDCAF6%˛bJNϏ+;wÃ\,SBBt/ƃ,W[T_ag!Bq[1!B!,<^>1Ocw\]||3MјѴ q:cevb+y%Txtz@~'}ppsSi8JJ^.v|UaZnP(G q%9vL.;(' /pv8+mc/ M`A[>rB!B!Bqz?ð4ہU5^\4wβ<iξ{_50Sx2ٹ}6~DdC$%O-  )Ȩ_pohif`rR\^C0([6N52:X1)R23ucpB! `!B!B!B!xD}{B!B!B!B `!B!B!B!xDB!B!B!B<" B!Blu:K>{2(9=?:ytÊV"߽JV1Niwӽn/Zlhmj41SRH~go}B!B<ڌ;!B`a=oOt:ǭJMplރj}98髿?}6WT }{yн+O+WŅ>t]a_!B!ģaM!(]o}E^/n3mwzSR<1ѱrp0Pp& ˛<֊gX'63 bл>_'=`/['ߵk$m>u)H[M]^_pEu=[_G1G!B!m'BGa+twsi?uPo=q ƌRcԺ'5t [=DTr㴛U|('?k3fD+u=D+|2c3, qz{X Sc󲳝ogh2qwc58EˤJ^n~\bWŹ:j(,\v* }?g"foWrUb}WhǯSxUcN$ˏ|uNO2Q~i~gͻv3rS>Uٹe|˵T7G?SzRDzdRujoO/P}Ĺ lKgl¾o SsQpte'*7چVѓ<3 0[I*k@ o"榦q(v0]bo3pG7zu`?_޹]v-Ԙn䗗ƈ:S~L;\Ʈ,+>._}a;sQ>g-VWa97;;ȧWfO]b8%'OUSc')ysύ5;]86E`nIk/>UE2ӭM2ZKO43`_1*Wv̓|lw.՝/cVlDFi)%NN8S(3;>G^W;yw~k}-^|miO}/7?@O6v p&n'U74m3 $\uǥ`_3^_;KJ9L~|vVa!l %Na+{z\-+T9/'yU(=\S{|S2"J] C3*+Ol8.a%>|}mU빦S_y+ORm1<\|JJhB!B葿Bqߩ|5`PQh#/KRo=QHBJA);05@1cc tP<1O HVYV )vJ\Dا>J!{aQO \j$u|NbXKlJQ8k{Ȱ[H/ˣg|ҿO fFA(Ղ]zs2hrFJPerK2^(1'rf~IcvEFxl;kvhqtcƶmaTd3B^_³әQNO\IƟ5}q [u5ڦx /YQpB!B-B`PU tBIPIq[o0!O(_^Oj%gSܸDP f'L(v8 uWtp9,Iݩ(FR]0PP3~ 񸶾'UD-zks8 9RqhtPv}-B!B<:dX!kJoe1N_K[y|Vw4?q=R"pa˃w;e+Z9ޔk/ғV?律6Wŵ97cw fN6̱wO3Nz[G5Gb׋oO8~Mp۶2'l>kSq(' t&MnCrxaVxnH`MUPLʦϵ*%׌ňH Ss=B!Bl-BA>6n{EtEv0=ϳu7Xrm0v O᪭2'is(c IDAT~{/۬$EO&,[O **q‹5m]L>mF0hJA A4j~SýˤMϯ21ALsO<&a4 >;iz@`D[ttlC>&'e; 0IMh0!=z$JH -X`\'-\_ `𥒩xcٸNd>jePZmӄ:14Rӳͭ>Ǖ?/>gf< J0X2ҫ(wxU_Ժv\t3е#퍼OjMF\kqsgyT.z~^?|][xu'(k˪9D<=n%YbaQE<]eg_g7OŇy>zڛ6ȭ(4&[`KOUoIǟ5SJyyhg?:=TL'G'ykQ?]kB!Bd}wB!<әnLw8V|s]t&uRퟝ(QjTyvpF-]B~oLæb7n:BnyG|SCWakSpw~>e"3Kk4pٱ ~wdSr5;Gl#;gdR\|᫧z1cGljo/rݯŮ݅dQsʐ%4KksΠJ}gQ6yTr HߒйGr'{̋ӤMq+lUUNmc30=~|yȏٍ^.53hΠ6Afi1e&?-{ cLy&uiS" kM v"3=\۞A` c#qrK5*س ٛu>Gkw7B|]To\lߦpm4yZ܇V+TѴz<҂Ü?{ׇpZB?Wb_\{mDWq{9{˓^zo_ssƹ*J"]2,-yݳ*2;7^cB!B L!BlBOP/e7{SC<11}~z#+<;UpO>_HD -odA!B!;;B!} 7wW͔囱XJfaj5ف[ 6Ͱ#+M~:{%dWZmB!Bd\%B!n O07׀eGyzvE yf)}hBDt@GdA!B!O2,BqX|)x"ͼ}bҧq)1;y㺋~@ҙi\$]F*V/U%<8!]1i:?B!B|>3B!W/gzV=f;&ҋK8\[v\/~DmTQd;xM/ܙ\ :]Ihoa5 {DנZ8,y`k:frܲ+,f3Pc;i?y*#I37˙+m&uez~k}U|H1)S4O(λkmR);!B!M6B!ăCQ1VU]Ηwa(ao&_WwDhy~~4Bj^~ƽx]7ڸ=dL&eQ.=xB̛3mTd4@xi6-lE5_] cX@Z`!*kBctIkנ39z,sɱ;˥+_k_BQu K$gy nv{¹T2vb>n?>gn/5~d6)RUP@q+Y`PQsnnZv?^*iEoB~ B!B!EI8`(ᕌ͜F~iT}(kl==:dk=[ajJ5E5,eLXd7A禵蝍[rU)E 3?3e0 ^ m+4 s; N".Jٓgkc޼-љg㱔>W֞PT=`ϝ?||9 A+9΄+W-W|H6νoR[H%=ۋmeB!BI&B^'x&,`^vRaIv81Dl ,vr 8\AaO򑲃~(cMFS*O̯6qsض3Zm޽Up G>[%kLwqq(EQY yOv4 309S((`3֮/KRCaly)\a,CyQn<͕P89LLZ^!O%m3 ݃TOw2ŎqFf/3WW!5ο^z4/z3s u8|34sxc|@ƁV>lfqlYSBơ'L =*j/ʶy];Lq/W8G*=P+;Soɮ33kyH9yn~aXӲ0vB&>ya/˗P<2EC}o0L._ͰvݢIӏkOkCJ;l#Ai3eQi1ތ,xf/T;|-_=X~^),l#M; VY?V۾gWB'jb. 0WSWfTTwS1G|R(B!xB!b&30 68Jˈb/774Xlx\V Df.=x6s 9v4&xvg9q;dght+PUAEU@Q`P1V)=ik"S3>\2K8Z:3Ü7Ob-ɒT̡BTUMᮕ/(,"(&TuY-09=5Y8C\ߙ8gF1Pߐ=169܁!/L( iNlhJyCJVǚSR,&R}4f·ǖrnP\*t>sQ}ɑweVUWWu 1`f84C3DIY餕iqb\P{*Bw\qGI\9J;g8c4ڠWe@j1(~?3|74Oom˲,>rQ }&[^wLoP3ɽ@ ;?VYWbmߡR-(0RTFVC72kv+5 j4PaoQXSri<",{p:c(%!M[wʲdIr.q)mqp1{Bd8v-bxUZms*n{NuJl/T2oۡqu:NdS)HT![rlKq]7% ӐCZÃ__7E\OsAYJ׶55KQEgI 4Me4UQB- J,frh>t|2ʲnrB)Ӕ clb&8X[RDžs42+C+ k('wC;SmK- Oe_:MxħUe׮g@};3Uymw -j{_= +8mKKU 3=җ_՚u]MY)C!a\?HӶt]tM:{fUP]kΑdG}bB=ÓjљjSм`xr5~x\'laws&cP]4?>}w.["4 S)˟)TksN7A=^Ͼ5Ym+08.^DUu?O956ьr=[ciYlCԔ/[ɖ"lk%w_Y]ijo30ܪQ/>hxYKC$mr>]ny˿->T/ ˡbewyN%)U~6.fn~OW*W*Ψ^ZNN..koŸ"1[g2jK2+JT27!ek{ k,uwTw@<ؾEy@4q{~=nCFYhlQ $$_if4$qERyn8`՘ r3 MNj[K=:<.-)ŧrvDSa9rUTCל٫f4]ӷ's숺 U62e+SUȨ.4iSUI=/jeL{3^m}ƶrmE'g4.jJ}22ҕk(̌Lɛ?" ee,{rܘYoh< ǝPYjO1SҴMTϫLZޗ^Vӵ,I+*,<[ݭ:SuuUA"mߚǔQM{ =Z<*ǪY}qG͋]uaͅ$_W< `l[ Jӎ\WDշ 55lH!K"[d(%6t{ZSf&5|VSYr|fg}I 694׫ƑYOlLX7 z<'u<2R_(WoT0}pSV<$3C;fڬ=3 5Ӫ[#*Z|#x^LWYSnw#1IqE?<`Jv4v=n8LLX ο'r imٚЅtS,!Ia6g!snqeDk0cSm?/=]4?3UEe__|LahLي.ʸ,WDLOSVoߔ\.j²5١KE" -D1ylSCIw;5 oxл͓mY/7HLrЮƻu'4է"=X{#lERd;Tc1Ee+ݨxLaKg:zDI8rV8mJreU(*l 7'K@G6~qTSQ[bՅmN4/Jն-yrMS[ABm?Uؖ SjVTpLh\o# V$zw{&Zgǎ;mkX]\օÎosTR?|IW~H>o}xTQ%I_xS#jvn&x9N]npVxrD m}j蘖XE)9*qvStwFv^_aq]ʉNrcεj‘9a D32].9.M BSf.숦i*KH,YQYei<ݗȺN$ӗʌzZ;uJZbʮݦge.63rw@Wmܡ#5i /Ii % IDATW^Q]0TS贚:ʪ)Q;Ϋ#J*UakWB+^߹>ҵ:K n>]fk_o|ʪ)TShZSפN~ԤYKv`Z]3v(821 Fʑ!L HX!Gtc@~=X o4Rs߄G1%|P!LJ:a@iϬж/Zb|)5M]:ҫKҫ\9OmzLFBS (Mʕ5WOyΠz:t}L.)Vnzr|NGjWmjUj=;^cR_ħl2 T W6TJYeʐ;@uY;u{LcU62dMu6Gۚ׬'Wր^?٣ᨭ&\9vOToȣȈsI mHS[쑑P͎Z,yFqm͎j0|V#Ks1S=pk.y:UtJh]ma=˷jymwR֛G45UoNg6a:.;81)C wTڛ SoiSs(K+GzF<л?q>gKsdck ѯ!lіQM>ge8YXmk$ I=$ $H@  I0$ $H@  I0$ $H@  I0$ $H@  I0$ $H@  I0$ $H@  I0$ $H@  I0$ $H@  I0$ $H@  I0$ $H@  I0$ $H@  I0$ $H@pntm鵣EkL1p[~:U]_HLr:“>JCFwz`ĔsY cܬܬx"Ǟ_l=^{P{C@M@ۀmIvPmmZ",7͐ÐӖH7U6UZB|M}Tܣ,$+ië[V!IƊ>C߰ܿ6|2ː@@QWȜӫ_OSo FU~_-7[3rpT;YGG713pHk 0@@4ܒl@F DY˥<씫7dT+[AQ~F\C S : göfli&h+.)θⶭrwD52u`[~>SboJ;WLzWǢHe'uZZf{__[F<л&@$M&5dd4X<+A]]a}|DfmeLe: 7ֵhxL* MmeoT`[z_Ւ;ǡ.bAHN{ȫ[cj/_qX-1Ŗa*.No?W,wZcjs:XTƆ `ugI>*KoHN!#n8QP:S % `1 :7:Tlțb(Ő\NCUngSU4#x?W%Ŗxo8`Y6zXg,Q}tL{ 鏛M}172@Iw;[-MA: REYRTcH@`hH$ I$A `H$ I$A `H$ I$A `H$ I$A `H$ I$A `H$ I$A `Ho}xPd\}F{U_&Fǃw܄ϯuYFG8kW꼻\ Sdlt@ˈܢެJUt3޴.K{V[f~hv4Nq2j7߱4i}t\6ugB[,=XFXYu7ϫ+F KZl)9:H6:lKj:sA/נ pQg3"jpA/{QZ-[e'mș+>xwHKN^JI5qE/}FoL),si6/5`X}ƞlכgGЩ:ė, 6^G=w6]SPZ}NsTBժi|z3T,uHoa~mn^9rD?.:ڤ7I~AקK%2K\sRTȓe\+^)!MGa< ڪZƘ^ӝz_qCKߴ\nF9Y }zο{J't cS׀s'NϽ/ćzo!k2UU[21g3F?LmtJPm^﵀K*zVc'u*7p!\jZ0D y j{k˔ hkF'֫:yrFk*}vv{ 'V^8+,;Uz:ꛉߢ{LцSzɿ0ܠm3n<gW.9pc}a~޼z xC"2>Uly[-Ik]'5eNUFYyxو" S\:cTBr)/l/'cnj\i~Ylׄy~|_aKO7ӣ ZMḘP]կ co}xX.K5YJ׉ 9eˌj…ږdkfW-Ct\;*T2eU+؈Ӌ}OQJܖX߰[ߪ۫-sah~x|Du[*m͎JZ|mKYXjؚ^`=\9]ءBe;e$0=;=aݡrBj:*Uԧ8د`~*VrPFr3{JUlLJ׬¾|əp馣? ɯ'e;"ӯRfU"\Q_6֊Ǯk#Տwu[l]zyF)fVsGNhVRUxdt1=ܾZ==G3O'gTBE)+],eh069ҕD贼ʲu ,إ늴X;KӮxt=J*;=UK^2MSӔ)0L9 h!]mWjޒt JdO]Cug2mz&Kپ4nS5.kNpI#M>d(LUQa)IW]NB11.lU~fuxߵa"}z.yv*v>K!m jTWlNsi9_~RneVjO45Ъoti H2mQFU2>Шk/ٍ7 m깤{?|U>v IDATXC;^v\`L1 lH}J.1W?vtMX۪2z߳% U3T]1y>ch$.KR<Sܾ ˹w:?WؤN~ԦPF2n]ӭtX_fl~ssڕ٠Q# KI9?:}^9{TrU_zz [7O"_;,3y+ۧV/8WTR0Eօff04Nd2TPiv@]=srdt$1 dYK5Ӕ!MLyy/-EԔorkx̿(di|lFQoR'"7bpwUn49ײW.URgKnh$k7{#Tun܏e۷̼+O^UdxLJ93cWH쫕ml單W΅O VRϨqE8B7w7ֹnq0%)Sqɶ,^^ tw~([#IҭzRۅ6utlWٱogiKI O)}nm uՖO+5n+3R g ~g m'>Uչ5%͹s*)yU4ܥ5 }gtŒ(fye  KSsӟҷ~ш޻8*%r]X0+]qrBe[|X~}Wcš JEe$W?n: `IWd|VLy +7'mM3pPSMΆ$+:Gz{uuܯOo^m^VqqXs!LggFJ43C;fڬ=3 5Ӫ[#*Z|#y>Ic6W6}<TĊkfKUz"Ff> Cペي'uݏjWDPXV 7;WÚ Dg# ږE=툂a[v( w mۖAMeF懽xa}Ĕ[/MW㴾NÖl+F}տ|2W+-INR젆uF" R89#MV=Т :O[[LZfF`NGmdryJV|Xz3%t6.a6!I,sjllVdOo۪ARzmZaI`HR0KMO e# O<$#C/sYړz}MyiwFjoSݎC:P.g,i ܠ;;uTOLcN%̹so ehcXZgo \PӋѻ|Wۯ.}Z/B*Y7bEuaf xHrzҔ2啙wcm"Dwz[l`0"ێ^a[V82nR'K۠F5EEnk\FVOۜ vԨk3*v_kkfW,Pm7hm7?a m'G֧iy*UtKr< BS.ukP]WNI\Ug+];hV[lgJS;}ثiwБt>=; jVS_Y5%*qyuDVIj3V[r̄bNUcVWZuJ4nh_o uVW.eVWG:=+϶\WlGuL}ƫC5ӧK-g)c緻45קQ_vL굿HF^K; }[Dgf24zIgty\W.ϡjչl76tǘӫ,-ש\5bKU wH2.u[ ],uP˴GY6J+ˣ?GuL,DYD2uuyHZ}yz)e0|kR;נz6Ѳji2׬\3G'*VYn=55?1.GKGۦ*Xm _<ٮ]T@Y~gTrg=ש˶~<^&b&z{T}i&}H*ӂ:It<٨wO7ꝓ:9+wQ*|w2}Hݭ 嗫>FboL[ :wQm=w O^Cred+'دc-~V++AqܻLԚVu|a3Uy):8)OE]D_uO5 J9-^]dե*Mx[ҁ=ʹu/O j&2 N|hTOU\_[sFDW;tOW;tcthlcmUGeٲe;eW=MeMҠ*.^;ݣP~}ڶhۯEJ9&muψzy ~9oi c賂wTWsŦ))@zN9蛿[E`x bvdJJbSv;4 9]*/>KŁfxH֕K:$/FK,4:YY$+3OS:5sUo}w֩Gw-n;7Sّ^fir~ry72@;~>>[t `)'z4lf8MK5z>O55>EC@@  I0$ Ƿwq}L2轃 `orڢXݒb($N$~y湾7Ź׾#Yumܾ Q{`9bID y=13= DDDDAjכ0JIݹXӓ77{'ȧOxD7ӡiN6 N=|}k`/kFLv_J_˛=` kף˃[*ӷk Zʷ~+|AˀWJ=F9:^t_L݉ا{xN2Hxglh?'ry!Ϲ.G1Lb O镉>m7܈'4{G.Q\yW^[6t/.k1ʉ.7Fǝ :W_ *Z',r홧cVj~~bxpGv r(4l>g5 d[e&5Eً|iM;df jǕr\Ƶs7žfy @lpY|?Zzqq.5.pՆLyU;N2ʷ\J1ʉqI<<7f%~6;""""rؾ;{;&7β m]g (aXV -)ck}Mk85OZ8d}ͼ]3l<=YS9YC+GK^2pNppwpi+> uS ]{]mv:d# DHqbbL 2FYFL 9L{ ڔKi sv@_%pZ+-Xe^8Ari OgrE#)za,cqOfy {㧸R#)ajU .fw|8_4+sq@6vRle?61RJh{)nUa""""""".9X6D˳CtLXl1000IH~.Fu/)iEVrq≹)dخpuhGv'a" Mw[qp?RǥCt[W5cΆE_lJW.~54h Rt gu79^ErƁAPBGјc-eRY6lD.mljxZ\f)̍|!9qp7xcs .1/pDz_sG~0g;^_ǝ%X33L ۷c{XE_Q}[5X\=o[cV5n߭׸OI~\-w/v\NKeq{!iW8^zZ2w޽}ܹ1.""""w~'"""5E{$ >e_1ɏnfx"!?>HL³HS~:f[qtr8w^R!:Z> p_0_Y$>--o/>Ww4gp;ib?gZAkv? eKL iX>ܾ'']S-[ L3]nn;% edĹԸ\(Ř8Emˍ'ܑk51."""" """~bt'">}5gҲn䳏eVO+g (!z+t ˲ ch"4^LIhI?! 8͉i|PX >-% #ҰV?lw 33ˣn+ts.>5˥rNn &>VEl"a7E壧εL,~ۈbǎl]՜rQ 2x< 5 H[`oZNAl|41\ )IM,>&b* 7 1&mm L042JǐZF$6͊zƧY~tp1c(D} ZGmI2\n '#‚W9# 2LEU0<.d?:I CU<@sK.q~s/$;`Sq@g hg+;BdnJ&҈LaG 5.Υv[Z2_blje41W8ι<;w%^}}?[ɱnF#ٹPk;j{K$ѱzB`[ql̾5i;@vm$Q蘠7Us<-|~YɕI|m5W8>BS}3=&ʼnK{o"iܤNjG"HO630c1N'Ca4>..I{[q>[:7Wکkl؅nM{D&[8{ƩvnN'n8xcÓLfj!G8FzeRgSK?' ❏izu|r" ). ucjǖnB@y~r =-CT^mqwN׿d+-\j`05;N /΢3U\ja:.ixcHkFNWquFVi K-cq 84NNGS]/ {W k=fX1;cHQUYv'ݤFM1`ij5۳.L}=|r"o_fSipQ8pë_*5SqlߒFmnj ^q m2p7V|,8LߩM.ݫRy808c1Ic?d&yωOcKq&_ χAg("wMQ(ϥ؜63o~6( p{gcyPh mu|d۾ICt\?ɘg_^#kFc\DDDG@:Ϳ.DoBF]8v *M~_J ^{N2D7,"""""""EDDd0J+sh' pꭏI*+ !O}^f1!k[\^Æm|lre-#_:ř#os'R9{ҡlȕc|I]ga+DRy?[cnWFɺvs}{,vFnMG_k 5v(abx6gMqd vccnSWV@^Y`YqM3!릯oPh1^_0{=eQufsAļWAib3ML0L6ͼ^Ś`F%IrF{h֗/5Fe9EFFwVA2a"-CRr f)1$&yI0?K'8Yb*,fWڜrs"vn9n>M59!On#bʣuLCE$6pqp#EO-Q9+'oN䖑:PI tMY`DL v^{wYfcsdg\abm;l,*D0zIOQ} @v7YA\;ƣ9dǸ.`K< L^OX2e@o-~;L9_,a2S6_L l6sޢ++to~>cahZ04׿ T_"""1$9b?Djn2M N9 F%"%=.qWgMsbƈ`܂9/I)I9BMcq43dke {9?tst3_d`c<ָQ@ep O+u\:NEU3F#$̮?4E(xcne=%JNv3N<1 62 L3}Fc g~~FJGvA+ 7b3)d[6*G-f/?gղ 7M &1sfp!83CQn=k o-,>G|^.,BIJ6gR1lD.*ƭkSRܙBҭs& \+xn8-4paJPYUd}SȜ 2 ,8D`̉9wtgf,>ֶ,!-{6ߝ cŬ(;{bD^bW>HL3'41 ⟳aV(DКy歩.>4O_zyȰhm961.hƒd 8wM-â[;ߧ˄˧{-˾Ʉq>z'oo}h?\/߻1("""""""r_QXDDD9hccq6R" !>jY3AIƦ A(0uXMBp[u 1VT1"ٴ)gw=oV3>򣳽LC8&k8:ʨGok=ؐN2wS8$lNPf*$x9ƹ.UL3bػ- {o1ʶxo3L>Xmr|JW!/츱-!c+=-^=]-x~3iYLK &>VEg;hI|\$fltD33!ο1h2y<3|z!PކjM` @g>5F^nwwbi| Õ^Jt;穝BmLYLiy8vIF:8rmy/eM~?pc?%say(ჵyw~^!"""8%D8lS44M]ACVjǖUu,jSM\noj;#sH%x7..^iRf Gtyq=-jRq,Ok7D\4r#6JK85i_DW'O'壩Pz1KW[VmcTUsI7QS l,#  s݋|\7LtiEkv|m-?253Ԝ;کoiT_|a+<"ۈ'1FU%8J/C 42bo51[(D#@g]#'S̱ ݘ  y:Ǩ՜mýq;8lFrA xX5gq9Xjcff,d9~c>&8%)xoh;?x6ؚMLX_48L ȌO$++m˙LyIׂymAG IDAT{,y+uwR;_N~Z)KC$Ds g8ze24CWK< ]ݼ9>$4å.$)f7Ņ -tB~Y>+xD{FpM?uk$ا+^wڳ?=٥B[o{wȃM3EDDd];=>j>/?ݸ)Z/_x XjL"8/0&C:l}g#>sM3[9?ɘg_;'ꛙ,Jr^-""""""""r#EDDDd1Z!j/ab/Zy@h_u7D_mMl`DpI43 W+3m2514^ *Ϟ 0t\ZXiiS.s}@RgF%ΏpXT?(m⭋tMru]t ۿ+W?;KIOL1Oo!Vsvx7p8/N׏0coOV<8PW-V\%`M3 bNd,\sK/ixm/C6Wk8a?!%#- 7F<_&3H< LDWIIMbGd?ouoGFL7_b[d6qڛkd~}Iz9de`,6_txQߐ6@`7[NI@AKdn_|OSx&'Ha_cˎ/SwS7ekگg܇GsvQolF ##HMAK('ek-K~f/OrcR6o*@ 6,GrmhsGr&b)tS䑝<1|Ɏ~v!@$=WK'?\'S5켟M{6#/Y&kyv$vvXvR=Ncܕ,r!.t:0/2elS_PLEq au /nO=?;3AўRvPE󸋼TmsHof$IÀaIBd2'-S(ڱGsIFl-gkJvDJS\X _HGl,3\ǫI)g6'77 3Dk'-VQz쑈32oXPXLl-rg̘eg8Iq`ढˏ]aϵqg$?Weo'!37LzS׊1RNGV9x噥;?ZDDDDDDD>vhY$ \Nf,N\r6O{XG,$Iqf y-$_ ,EdV]//C LF|LӌBc^.θZjhd*ԚWIřV "azF0< kȒ4=M0׉FYGk Md'<>.Y']Wa1¬5e5(B̬ g@+:1BT\Ǐg_ \o`,c9``1 Ks43pVm7f)3߻=pxhưO?rRsqaI3 qvmjh9hņ3 03J># q8Q,"""AR̘^lWly.9zW,g}D1|{f 6MʌY7ưNGi3&"~3NMnǁI0VHki0HHy]r^i3%I ގiQ"SE `H'>W36gpSNz\%|rfsy~p'w0"""(^}ϟzz'O38[ΤlRH8{0p#72|cOQH/ !:'taƸ%l |:9N(hBp9?$C88&fp0@Tlk?1s?yW:;b%06]%Lqق?AEy&Nlٔ:{:U.ƚ; :c 0Mv(LP`X- 2:;>̥?$泥E"/02!fi`}T}#+k-._c]C MS8LP(|u0(q.7fu;*rlQLw~3:F:0boOlwzL?c2Lv7sz4MksdPhOlF osSXgDICvر~;]I.Lberhchi+,q{DGlyi-uG0*Ua3p%p?sՊT=-N50W艐T $QRm=+5?4A)YO^hs;/D/a7 4Ǵy0='|9KㄢLvY&q}ߢsԇ9QCe^x v?!u52\ :^+KYNvJe]{=!V/.zH)&cXD.&ancNVfxe&xT/a :dQLaǻGQa?AzTZH&ꧯ:7וͺl EEJ6j#-8vLF[<!&\FyvB&ai:9E&:.Jr~뭶;YHN#)8FcC Ft尭ilY[t6c3KgMYI*vSo`n.ylںUIig"CC)qOr9"1!0,G 9zS itC }~id:˾VMa[u&IJEDDDDDDcƈx;nAn""""wFt7_'q'{Y&=S$x"""""""14˃DDDD4%䓗$nь$3:˙fkeqY޿aSUJ~Yoffkl͍'3Eko͋j>EmcʍD)=ZDDD/Cc]}᩟ e w̻܀p2>s w澵wK8|b'$[Y{7}t2.峟D s=3䥳_OrxzZSW8oEs֯G40AKK;Nt{ʿSgl Atˎ=<<7rS"""""""wf]f|}R coO?v=95_?5|'GGjٲ{_@i`S bqb`1,79#Rd|8-B׈qglu-ϾY#XOǛF̳֝3x_[2xn*O )+Q:O%O 8qF2$d}~}3gbUC SL1~Xwy݌5jԺ&vu:p)*/gNJT BDl }xT`[Do'di -lGv9S@F  vb9L_S#60GnȜ ?1Q_C  2:–^'w"f5<8pWDņv`AOZ~{|鱍q14s}&1 3'yo]XD: IDAT ^ I"mkhg wOh׶$o症i1l:˾c\a* o:iKOse?bjnQs-=h}u~C2Wp/""""""/~~VF+OWRUIIɋu;ځ'iN)p=ǽ`'{+sc l~bVyM6F{gVFd{}O'Y>ƾ_Оu6sؒ맦v+Xa0x__᭤-|㓫TQ7:\Aa-a}\o4X9~J1skH]]ɺt B6%ƅ;?gW.VwiL7іa̴*#7.get;BBVeB^R ,/-<`?cTf;h(^^ƕi;,W]U%r`Z18pYKX3qS-TDY~sC֚0ܙ+rcy oL؅|U/;ٶ*SGyq7u֬2/mOT2^ԙ=0F"va(ɥ|rz(SsMbv0bk=gBcq>Xڋ#yCjs1)eŸ9.'Wi[J8c۟]N`L{/C~|4 cxXQ mtOJ"cǶAIԴz= +7$3`b: qs3/Mp7z,׭4mC"!ALoSAx%m[PJ͑?q>_9Ĝ[gXܙl,߰۰)Wʎ4H vn{oܵ7$5y](r}'hXÿ[tqo;~.z,Q(`3(#^J޻f_Ύ(O_eX`r%-[|51D2Kj2 Η\㦭9O^ c X2+:^=bme2kV9Gky?1κ$06Ibu+mxr»9nF7.|Ȣ`Nz3!86ĕ?ԛx{/b w{$_?q,`e7僖ƍEz^\)#?uߊrgd0߄@0t-gF,2&?pB'իxx 6%b GbI è{sѤ9xS/}7n!"""g7.&86ĥKʉ %;w[3q]#B6Ti% _w2.5 \{` X*/WyRTI_!HW7̓_NJJ*iNPS/TH{'g:#KB kvZ|Il . .ɥ =ţ[ M;:h ؍=ގh'*(qwGI\r׍[d.8ns%Dњ|rg2AS %I] '{-G_$0ONpse# )i.|}=>ƙ!,ITc锦SSʙ1B)%k=δ ^.4s\ǬY,91n8!,<~yŔ'-<汵ct5qV?CF707"k >9a.8g:ijk??WеA9zVŲj+_ݖ\q5{OGF-˾pXgz,aY5]dLH2b(55{2g H$)ʞ&eUTAR>7."zcjh DaId|Hg'|Fx@g;Υ8ǑWCgxsYs;Ǒ 9羝V[N׽8un(,&.""""""ronO&s75}/AN?H={>mUD$H[/\ 8+ uky߶^9Zh g/X_ԙ~r*~%3Rȇ/W0Æ0ٝd+U#﬏j"""""""sDDDDnu6̀ r6yƣED>a#v"Q`}9I/ GncEDD#d=OOر:wÙƚ2"r8ғI v;=L\1f r6/)$n8j"""""""s;EDDro}<]MT'_ɉS yWg]&"""""""""fIHp(3g-_ȧ7&0nՆQXX&"""""""""k|EǻxyۼfTSO?9o߹y"|兤`IY׿VP+6{I5ls-"""j⥳CL?UvQu 1jkYƸab7r82Y<Y\GϷviX ,ۇv X+q٭0r1YT@?Y\ '.ӝjow7a#X2}(cmx a{j>G{`MFFS+Xh`Ia[Q'p.d[0'zxvՕK_Oy)n~myPOgJ֦28SJft(bG %.< {ᱱ'$P0qlyٽ=aN9KJмfAE 5-@7/r?+u\FN ZtKOYA"ZS:Z+J'^Ek#[3 dTQn2Mkx b5TXӜ+7Z[EeBH$JϹDbk\qX}3 Zn0 5#x}aM03Lcݯmg-U;Kcs_,""""""""(H=Ɵ= r+39goF D&z98F 0 F1 IZN#=M¾N.//6qA/c]h\^ 7! ] lX 'XM̱O#}V'jᇯbF_:ǁFϼekF׬gMO!ۘ>&"&N^}hSuq |˹CJ n!-%K lNFK e5Gf_)%|v""""X;>?JB|':5riA}^>N/a%'xzpGMd2Xº89zVŲj+_ݖ˰>8=_Dw0xw;g+cB\he(l2ɀ;^="21َ(EIm""""""""DoA, """""""""""""D(Y", EDDDDDDDDDDDDD""""""""""""""K`%BXDDDDDDDDDDDDDdP,"""KJ;JZ~yeyt$<*49L觇9}3R#t*"""""""""2?.@DDD rii͗Mq7NB 6|1?~Nu,fԙ6[Ma;O%$)X`^MRz>̉1O 11Y{7_LZڠArR +ې;GǻxyۼDDDDDDDDDdIR,"""Knw~6dv9 _"]Mtv kY7?z?~ۗBa67[ͅ=""""""""qwb8ItT3t7X/~drtYWWt]ږ$,3"~&".6<,=) IDATH/Jhr~#l`]ʌA^]`5RlY|-T']g{(>Zå)_`Ȗʺyb~-4~1O ݍ-&EzN0 ܹ) %$P0qlyٽ=aN9KJ(K"ĩqz-,߶'w.¾u$9'[p\-'߅gW}.V)u5q%ڹr_ :}ܛj|;w/ҭWDDDDDDDDJDDD0ִlrݼRCq13}P7~k*ٜ4ƒDŖ<*ʭ`Z.f/wp F[,Qw-""""""""r"""8(߸Qo^o<Δch7&  YXՀH`Լp~3Ue9ڱw/px3O0 اس3ȷQR.AݸI?iBI!B^~&kBrjw +vDa"mjˆ#9m@,ɬ,NG,OīȒHī͸w ~t32oXt""""""""H)Eq|beoj):Jf_ߌDȬsmXoA)5GN!lit?AڭM Ġ!l&c6qi;q8sSMW9ޮSuӱM\Oqc6@L-X+J(;"qHsa zq[npZqlY=t lcĮ{x]`z}x PԖy1 yP-^Vuc&tfyhpȹځP-1yCZX>n;sHr\n3:gr s[k\x* rjAZ($;EWE5'Kl݇OlŚxT@\'9VGoR,Ej\u 6󽵉D`R_x謯GYL'9 Bau=1<]` rX[r7W3mrIڲ9`)$5p=`@{t* ]|8'z9x*GH+Mujj9uxv<0gu$xΌ3gܱhx,,GV"(žϮpȥy*53Q_t VҪqHDDDDDDDDA3|PDDDDdEݱh^}Q̴-~>6[ $ADDDDDDDDAv""""" d|%EDDDDDDDdSXDDDDiZ9<9ȗA """"_v&^LNπaƃh XUr3+ADDDDé?=؍N{_ub>E*t@"""""""""1QWVJJJȌpwS~"Z7*ٛKX x9料ۥ)hN~i4K_v̕L >.\`')lqv'QQE:M :\vwT%:xxmI<չ  iDDDDDDDDDf LDDDf07<qذ̈<8{Γ.VnʷVDa8G >{-#xÎc fo#9ʁ+}mğoJ ۘqB+C `qN}N9v&&Tt+un!2 eDDDDDDDDDf%EDDdz1;x]ܟ~Ѧ.h l wp}pNŻdS|Lf""""SȈ & ::"',*sA snbhkhBq9Ixm],6hKD Fzg yL=)xr5qEeh,>˩f:R3XlP30%>g >%xD ~Pf#qz?ky\+ȇ%|^Y@Ny=k]⽓5T8yo35TtHYw(ȮuT_+y+T6lx _f::<8dg֑ F:.~{'ϥ4\_wP7`pNu'YQWɥNye0 f[%-ep )1?C+Ay KYˡp:~2֬H(9o+"X" `]S:/ 9kyiJ%s ; Hvы׉_D`[~9g7' Y?R7g Qs&?^ݐE~5(M߬tںm)Cā7tGV1͙4'f&RΨdV<ߺ?Y[[ңUa2@֪lbSxhAED,YCsc$C+Gτsn&v=x,܃7.U. fL ɤxީ plAwb&vX9+X;|[cbqZ-8[R^F.vmCIB+AF|')Yl_:REFZ fjL"I,a̓f[ޢnQƾCDeEI0Ċgc+W;([צ2/: rgAW{(lpX0?hDdsEF|D/Y S gvV Aw mB# 2g, gւLV&@wq >ֈeUsn`Dl&Q ٹ6O?%ἋLd'#&)cl;g5Qg0'1֕(el6p3iDQa9\~Rx}~,͕c%gQ8m$Ĺ- ۋ Z8QC 8, ?zb=<.a0>X>?x Zx}~I94F-cx-Aq$\)m/hn`'4&sjc-z¹2C<"""""""""_0?z:lN\7O}v椧i̩ Bgt&e֤Tӽz4QIvjN6PQ]ñ-ؖ%5+O;Eg9VBU5t5p,OryޤXڋJ9[Dl{ko3`Y_O?Nsk;vzby<71vp9li-ՃɝCCdn3@sm+t[ brFƲgM]֋ɡ:Icy7wSmn)b.y&~Y.x;)aefPvڣSM~v?v.כ,XLBti>J.^su\IJ $z\>;N ly IgxsM>ަ:.7-8Aw/ZDDDDDDDDDDDDDdPXDDDDDDDDDDDDDdPXDDDDDDDDDDDDDdPXDDDDDDDDDDDDDdPXDDDDDDDDDDDDDdPXDDDDDDDDDDDDDdPXDDDDDDDDDDDDDdPXDDDDDDDDDDDDDdPXDDDf/pUſ_|\8[89X~7U.OAw2}T_gOy_":VW"""2p]\ b؝DEEf,7g/p1cQYtWYw/]&W.|V&`L\bz qBw6LDDDf07<qذ̈<8{Γ.VnʷVDa8G >{-#xÎc fo#9ʁ+}mğoJ ݩX4"""""""""_mJȌt:000s3Q6p %*+XGwNwvZcʸ|U),"""Ӌo_56uJf`3l8Ƹ3SVtvs^[DDDDDDDD 5L!#HTh`mnn̹y飭 T'muk/Qs/m[xl g+1f飱,J`cyǏECϴp@5<Ow-M??>@Un r"^hyKxqg9Le6,S؎Ǒ.'+ʸΛ } ΧWhS3]D%yi Hyg[fi#e5kQKT?䩗>f?'k/zncW5zA Ϥn pV=ȧn pwbb6#s^ww=Jh[9lK[ȋ@S~,, eAB;`gmhk]^XMdK+!eMy=e-v1:;ȿ啍GMIo#'?lnj-`*j\NӫEDDDDDDDDZDDDdRM}wTh8Uՠ;z1?E8-$-y)~#L;D y#uO>ll/Z)"#-_C35bp&$0LGboQ7]mcߡj"W"$ b31ȕaȋkSF|F=Tlc1g3:6ytb{ssPϛq=G0wa" 6ި\Q/i ̂d\tĠ3^}Mqcol5Qg0'1ի(el6p3iDQa9\~R-9VerZK[ҏ5F[B<)ƺv<#E5ln"Xm;oqb;KzXn)-kVe' h Q? tOP׮-i.[3z %m6ѓ8o[j2F;D)""""""""%LF >8WUcV5-Ey>&H\ GPBcϏṟ#28֠ev{1`_ '*zZ^z~<ǖeAC6ZO캇% ׇ m>mKՅyVeha7=퍜:aY~}#OZ^ݰ4H*u IDAT=&mP΂Pe2Ѹy]%EDDDDDDDD#?z:lN\7ҁv±[Μ4<9u[ܖÚ4B~Zo&{"rUQ*k8v۲|$fœil1*[u&7.27IN:ћK{Q)g8Wv|om"t,:Ǒp2rp}ǮPXAOL:1n.'5-z05sh?ulmhmŜNVx {A̞V.5X⬩jwqWB R̡K TQ: ;Y꺑弱*zX;&*|&Mu\n4I[6q^9-""""""""`Z """""""""""""2h hB `B `B `B `B `B `B `B `Qn/_<^fW?{s~kwRro8|cWU{{x?QUVo~=}iAm CPHDDDDDDDDdQXDDDfU.듋x_ H"ތv.b;*v';e Pq*n|t:}atؿ>(a$Jbv[o׻j?oM]Ѱ 1i鼷.֯שx4L!#HTh`mnn̹y飭 T'muCohKD Fzg yL=)xr5qEeh,>˩f:R3XlP30%>g >%xD ~Pf#qz?ky\+ȇ%|^Y@Ny=kw8&=W\Ew fwΧWhS3]D%21}tq$.੭Ɋs4\Z&ꇈ"""2 8Y RYo~!{-@iIl3Mo1۫Y>8FOA r~£ŷ!/`p݃d /}}3֣l_}Tۗzi[+:k/>%X[^g[׷D*?>o*|c05Hyzd.ahx_zϺy3g Rr4y< _Ƽv'',zJ{;Y#̣ն$wg/d[v ~O?r6,-Hp9cSv%m}kK{.<1(vE `I6=S>~W1W."LMrV6vⴘ[s䥼\2`ۆ6=4Z`DGyb pC+1\dkh&p[ $Ʀ6ۚ(3saQlfӈ`r ??y D e\iq2]pKﶦIKՇIO[)T-,X4eN4‰v?po3N&J $-cF701/u-[%כYQ#y.]Ŝl젟b~DFp[Ș\F `66=%/|~ [+QE:'spg^|'R,N"܅5O\ lDGՊd4Xr=_y{nrj^k/s:ׇEͲFQuTnzg DDDDDDDDDm-"""Ӄǹ%l[NRk){K|?-!Ic];M"G67K]X ۶7^J8|%s=Io`{z,7/A1N.p-~A鞠1"3;[xDR"vk1%!eRrkYKRf}[4ڱ#B&^DDDDDDDDdPXDDD#o]J sWګOڪ1Wыؖ㢿<\u$HWM {.wc[#|tmp(I1h \9VBpEFB kЋ۲p@=-/n?Њc˲ k``?'vcx6%ft^ B͇en# o*<8Z,""" M :\vwQ%:xxĭVHqHITT$q{GՅ "-^,7%Ǝn?q:mg~|*9QsG炙00FC"""""""@""""0\ܺo°q2^_$ްʜNBsrF>sMfHǿlt^zI_q907<qذO'v4`GN2g| -?&ҏ@???LݵwKwHDDDDDDD(%EDDD&Op %^V(q*XGgvt```L|H"6Vo;51Q766Inbދɴߧ;$""""""" """Ӌo_eۍԛ&)b l -59cCx-55S;;YL&௝;$"""""""ӆ`"""2DDGGECϴp@5<O8+T6lx _f::<8dg֑;(<|vkmF ;\M~m>r/ v~W1W."Lwȕ2 Xs rjApD6?YF^޴Zqc %+KW2.2b54S]gKb d|4*u58G7F3^6sq6y1C,#,G.&=:GDBpX0?hDdsEF|D/Y S gvV Aw kWCauF430zqڍ Ž\.é[R^F]6 &qa`mm-i1&(CèBmkrXn\j=us \܅$Lzsm۟~K9Z|82S\DG b#n38 #܍ݔ^(JV[NLN"^ծ>Lx.8o7F-?vשYQHbW1';' yyR+*6l#J6 Y-tlrݜm';:Ex&+ky)~lY׌>91m̘uncX7ey?)lV89Y?UmBm3סּyyD'yoFTlKF.,_{@u|z/o#ڶi7W)|e(,"""ӆλi8A"jDdݯzC`̻PgYskNiZˍ$o%.[+$ĉɍ!`,^,xe*M1is߇rwx]lWD1 }q%רjsM,\wODDDDDDDf>m-"""Ӄǹ%l[NRk){K? t70W`}l' lOfnA1N.pXq^b(NG2\-5-dz@Jlo)=VM^;et!6;GZ-f%?+W"1g#E>iKf'}g{;a[B<)ƺv<#1M ὓ';&SчPc9K2ߤ{Zyi3m|,/u 9?^J__. ,<ɍ ';~|I),"""Ӄw.%+xէymU+l<75LmUW8Xq}ׇ2xGljx-A A/nbNTx|C-˂σmu<ۈj 5LgX_{$bP?~TW(bgAE0CkF681>> 6Foı`M\bKo+jFk&NbNbAܖ99jviZ{BO[M*s%pcF`oǖWQޭ =x0߽װ|%?~A`s L'9 Bau=1<Gokjh=:܄.>gmkrɢml1*[u&7.27IN:ћK{Q)g8Wv|om"t,:ǑpƍsOgFI[ `JYHAJs9t:JSyag>K]7k5\Njj9[ZK`,krx(O^@gLEosMss5wryL@ +3g1Jg\4F7K62'lۺ/*B~Zo&{"H/?Bf,GvFIVΜ-tFgLA\vnaMZaz}绑>Ql.<?8"qD_=m+ɺqpq$;3E-q_EϤˍ&i0+'q3`Duf%;VV/g緟VQo{3̓DO!%|,|}ָNMm=.TPώgflǘ^ S궑0xRzVYCqEde7~cE?"""""""_F]]DDDDDDEݱh^}Q8t<"""""""U-EDDDDDDDDDDDDDf%EDDDDDiZDDDDDDDPXDDDDDdʘx1M=O VÒ6ɬ\NГ"""""""QXDDDDDDDDDDDDDdЃ""""""""""""""3""""""""""""""3"""""@zi=(DDwG'|?~A|]r>|>0Y}jGի ce4Sy=Tef,dQ`w5dAbmݎwPsßAl}f'GE|/O"vVqi>,sh)t{ IDATw{HJ$ZH""""Ȱ;ٻ4ߓ]ZX%! ƀcp۔\ZrwY?i/ܸtRbA+ VjGp?lˤsע'D>c&'_pKxķWs΅#YtFDDDDDXDDDdhgkx5qh 7 74YE+Y+c8/ĥD}Ogj gK/$7 "]VzX?َAp\2:8}%y_D}9uı%7&` e5%,jD&P{IYx#CryByJ'n{۬F-fAM6n[kV<+L paCl˰Y3BD6|3Ų&Р;l}H$69uY8*z_ v[.ָ Ű`X#c1Otc-I*q'D盅\yLi`3fB$9$fBȽ ƒ ‚Zt-խvn /s\-URr dJϰAxvٝOWĿKem歍 %.qdz`+ǎ]m';D7u;\ov4Vp\; Y+ѓYiU~wO2'G`!6)_9f!n^,KMuLZ{ȹXΙ{޺|xIO 5|sG+_&>ooH$h{+8[ύ[NlK־G0ޓ>Q_K>p0XHݰޖKhB?|}5a-Ð_ݝ*mebprb8}nzŦ5dsw_l1r[Z$?Q.xͮz]Zf0MrUS⨃/?ßSˁ?St >$6^.>=9Gbz;j9Zч ^Q!OWPִ` Y `{{W'?]<|ׄ{R CP:^ݐȒP2sRI bK`iH KSHy}DZ5zBfJ8j=w_^XI>Ǖװ?mKGb_ś# VcqMtvZCy̔3ӵLbz LCE *y8{!{[0lDSj2h`;Jޖ"]j6'/V "Vm5տ|L=(~oab }<&:J5x[2I oSe}&~:4aY*c'.{$*llIF G>ͮ]ok3 b~Ni5 IK};nBdĘ;z +vx=BIc*=<[YŒzeg{f{DG|f* Ǝ{Tq`:[{jOdyHn1@ sx^^n`Iӝ]g{9^9=}gpΔ|39af59{ʤfY}nsܙ{2ɦ;/wȓA`Y4 %Ñv=UJINDk/.xu-mHZRoR{,yQ ,? O]+{}7;C > 'Λ17gٮ0 L1Amq9ތƊuITוX~ |7,*u/c&b v:gzx傉x N1Bx~`bۃus8qY39Œrgpp'wMN|,@އǯf;؃]C39̐@"""""2 =ZDDD 'h㕵 l۹k*`'7}`nk:@ӛٕ;("/7a[JfIkmcs焄%s(Bo揉mM{\̽95>}뤯3yO⚜=eFw<9=$Za63ky,"""3? sy͗x0l;b|C.LNݏM0Cɐ{7N=ot?ipVNU5]9qGW>j%U$ǯhKޯv=͐ 16grF+PbBƮpky:\>LW9V586[z;P7.7f̲]#2o`f tϿPFo pZ^wO#G>磮/9t,i?L7N9y{IpRF(EEi\L@!@`2G^Rse~#>#l;sB(x-|6q>97'PƟFG{U[}?fӇ,L3C_sK9g_/ov/cF93G~ r6<7>^Lr!o:'L \SLtgI-9tyn{ =&}v dyF4sO[DDDDDw֟?_ DDDD )>4i+=/?cHWx k<ռZI_K3A4seЇV )(L'enF_oreQ֜>*B|z&+M*qյYP%u./T;PofWˆ+= fevU5HUM-'JZ~o#ذ4+l 78|*5 `w^S==3X[ku E>o)g>קq<ԵK ;?./6.X\ٴk%6cT]W9_Ou0BcHS^zO.sg3FaIZ_AG_s=W|^JaVzw&HSH^ctzLK&/5_v J5Ą${T&+#; "b촵sGwޤ(/)98wGžDa}J(t/t54P=EAz$I~eQ٭sKd41Syr\,i?ϯ?l?wfu?'nMn'}O9 vF1nj$g?"""""\T™ڐEDdq,bJv$:y,"""""""""""""DDDDDDDDDDDDDD*<&TyL,"""""""""""""-t""""9젱 % ҄|~nެFw$? Xzt7_z#Wen~63vG7nqB7Ylg$08Zn-ney<ĤsעruL_o^. Su.I0vBC wgjss%^JqS|X)EDDDDDDIX?'+7"ڰb[$u__;W,$n/&`łsLKWm%j?z[4iш{o'IpMo `Q vGxr\' """D0lV6UNvkY100Puv .o֓_}?J8yN[4OmNq'1/QmWGl,/^+(NpATևwY$\=GfBvQ|tc`7vؘ8Dqi'Y{gɉc #wW;pKcuWT2&tǫz \-CÉup>lIQ %+jIa[F>}ƫ?U7:?ܑNud?|6&Ae9X=&'[=Þ,64#)'eY• 7D$)meSIlr3݇=lxy/g!']!o$,܂p͜ރc4^؞CSՔ5vɞkJZbW>ކZLAg\i,}]]DDD֘x\z x0| DAͧ0Ǝa "{S2i#!{%VޕiZ&F%87"=-P=AvZCnDbz,1}ݐɮvÍqƯoeՂ`RRc4ft"Lbm iRrWl4ЌT2BE8u!P6,Ov#[ѹ3byvrbnpBH@pp12 1j7E\ Ǝf|T9lm{-BZj4ax\ǫYJfN*IaVlu , dIv i6/݃]c-Nv?l?g"""""""" HE *y8{!{[.FAcD*=w4h"bcm)ڥ :ksbBp{;x[6h~[sprׅmjS]o[G3MXX$*ll9F Ga޶Юa``!)y Af`{ȈwV6z Dq1xL3^w&qcko`ilM6@xn}Zb`X,X8G3`<YH*Ȣh(]*?~PJw X0cY  ;!U<4^W&mڮq|`3Rr IDAT139,}9r\i ʈnMм)ָX>nV63.DGf蝶/~mN>& dL/zcPǾ~oX1Ncn̠6Zc[▒bZz1}.ї  ^\>^sq=Ҍ㊉&棩ذ|&&^Fo}4sk~fM9Nvdlʠ/tEDDDDDDD """8<^˫H-1| æ7@{;*}tWik,{v.'ftgˍtk|C.x[9UՋtaDfu ,N18ucĮpky:\>LW9V58u!f#tvAoGFw:ݘ0CqL|.7CezC8LNtf{niA8]& FE#0׬M+Y㽧 crFPbB&Ώ=2T60{>KRޢ;(^kkiմ|ԕ^\5n쌰e a;⥻Wzy8/#[!C瞜0 &CcrƇkQ 矈?B!"""NHLpՁ*u0Im]g.Uq;=f࣡8.IWCQKe8QʍE]6YD\2*rUx1;+VfemfuO\΋b'W!vk8-̧t;6|dr'9 X=vMJOcutyL18/#7hvkJK2Lz+CԹ6SD@9VKǤdb_e04H[HzSGΰeWUN'0!0 3N_k%XV?7cHWx k<ռZI_K3A4seЇV )(L'aʵ@\ӹIrBDtyf-sqV$DDDDDDDDu4r"""" Ϥ!agYo_x^n8AyV$ZX㢳Gsζ dNg""""""""c""""@Ci٩ڰ6{+\UD#噈ȽTGg&>x.ڽ>6A޽6<FE9#l=6d8|焈b`[DDDD換.:g WnߓEa65F__ͷ\ܚ 6X&Ǚ|5'DDDDDDDDD EDDc000pUf2]аTW:bP<<,f LDDD->ջ:̯>lW5,Âm+8hN7$ bCn!IOm%']l{;ײ+?ޒsioNRkL*O Nal/TLZ'W xi*ûl F~Qъ>\=GfBvQ|tc̪] '̉=8J9=UMYc7Qپ-Ν%v%mVGl { ش:Ӽ{4ٍ݈0QNCÉup>lIQ %+jIa[FȬRDDDDDDDDa#EDDd`'̡ '7˸ !xf|T9l<%bK*fYVZ-#9Ӌq-C&l|YO6Wkȝ!dnl3.{+"x^x6؃o®sbFGd0Id$/{#q̲]BZj4ax\ǫYJfN*IaVlu , dIv i6/݃#Ps|W>R5byvrbnpBHl~|D9a؂II!Y$2-1;yhY*z"󷇛'ڛϱ5j{)}T, Kc},p8gRy ^5LBRõK\mumی=>d5w#oy(3T~&,KeuY3 [.`aϼk6vjb x#o_g U}z8YR[ C8c7>'`t>-DFݍŰb jEDDDDDDDD """h8J#,{~?Lnq3>S9xJ5^ &OO}<:^QŖizxL a>jt13H_?, ~ sm/À$tLA5Р; ҇QZ!""""""""2=ZDDD 'h㕵 l۹k*y,1$|4wgbex67—1bظs?{k3ki[.4fveDpVibN(w- peȅwDGꥦi5IpkNtI6%n)!&s焄%<Ωa'psCG`Ypyu/U$X[o[aai-cgN%|x݁/ݵ҃ơ97Fwn7C&Ø')8ڂC [ r0M>ʩ^>0NȝiIs"6>=[sq^ [bWR~85żim.M@i`:i堷 u#;nLs!؍8\&>9r1dzt3d '7N=<[)|c{2A el`7}^,0EXf0\0nFޜL7N9iqEDDDDDDDD0~/t""""X~@S`eiF q6Ν+te/Ǡr0;sX?TIKk3DI+OMqFF2NTr/yt7rDYO_\qF#*: +z! |4W_41jhz8H2ȶr'R\s vE1Ӯ0B qZ5C[JǙOv>-um3lOrˋ-2W'<{횴1lh+<5j_FˤDC{2uk͊$:!F6k{ Xr<`tc7RBml&+#^-.*^_?Fu^JcEgA$=bσ(랴Zh䊮5DDDDD @DDDrs%S'k-nn `zYp}/>Zrt-ս<k/aIMt63L/{Su$<=R[^.x9 tM|$UtzxKynZVvZh犮5DDDDDzÉq2c?=__;xL Ʌ[˭ X`To~͋;vn(Պ}>3m,]Jo֚>G0r&iɃX=|?f뾝x4w1jyR<[Ww6K̲GA>Wt!""""PXDDDHv c.nx}RxJ'?fUi&bY*AAx"f2@뎇3Z'b?GmeKX4-:A]yJٙA\ w_士NtN{pt!"""","""]z {>?~}^z[8_?bXt4{Ft?yr4 V^ѱڜ=ɼ-:yйs7:2_ Nw먯㚙S##m|8boi@ **pC 9WjǼ,g"""06 jOVqcxv#=/ j&U<ʐp3ӃvcwG}8}3c)gnk֕Tw{ Mᇯ&Kem歍 ՗[ 6y:pl=7n9-[6a0^ wƋ;֐j̭'s\exV;`79pn )9|wg2REpJ?ؗGFsi佯S&ɯ; +; 2qǛMCwbzi<ُ9ʱc)w  fm<4>kMV}Ü(7,> "L77'ݔǼkKRu.V"r@cu`ozGoU>p Ťk{#˕/yx]v|g/$[4S?hc/ac)G`&n_42Y4LY \$g| -P.佋t ?=g%uf^_ Ӯh^zO:~O~<M_ 'oY/T Oyx97w},x6l8nyyx:rd|BTd`"C š䜒I=X%w_'~]OL~ 5$ќZcv)""""" X|'cxKX$ֶfБbʂ2ȋ8O0_DlW>7$ bCn!֜>ax)? 9\ !S&mw#٬D("UqœśdlQ DrٚObqy%Wl[RjDU}}ْؽJNWpՒ¶ 58/8زdiu }%yLI9i$̾K'@? ,(g3';(g4sT5eGegZ;8wؕa10|8}'θ4V:qE%SD۹Oxؾ*FU';҉}.c?DO8`=?y9MIPYNc*F//Me}xUxܜMAB_s3zhE#3xqG!;S(>]Au`:[ӂ10>|+!M|yW1E)qd9wHܲM&`+3"Wnշ[HܴmS1Ks{xTbbia$ēd1i #m\sغ.8Hg*k0=Zv*Rg^ʼ3clAI86o>y\Žo/OEPn.5^``5wL=x MȆ~5yNybQz+vIlֈ\y#EDD!OŎT0[L >œMd6A3Ջ׸aNje&n0{oqm /;ƌ6 JR)OoLk\68OUV?/Re)͜;vpQAzڴ ʆ Aa]]4@rB&q6cd66EFj8W jR IDATl8(*Νx8 sV0H8Ǿwxb#g~s&6n{)ьMԌx2R_w;+vF,qT<kV!;uAiv꽘lڞ:K<^ 7vv1rĶϡydzO9B>S6{./mXYyN4K[_mz-q=fֺkڷ>';rH$?F2wGy&ZRI1,&+d=9vMU'6?79l""""""`yhx/?eͧe}ӯk)Vք|(@'yݟ΋5x qV0Hi a.<붯b=Gog] JwGxp k/wu?s<˭ >?æJ }L{`}Hf3՜y#o_+᥊xz5ҖSͿܚ6K-agNcF^A>]0⟈jlb`.--DbL~y,HM+w4cy-~m, ю}y w_sd tc™MӤ9p8p7mXIК##8َ̿8N5R({nsTUe O0!^f?1b\IF@5~y5;(u;5[-waitg8Δ$+ 2~wa:]TvjJ)wtۏu&sbq>YcsEDDDDDbM """p0R{[O\η^;RIbNXvsac3ob@uc.l!`<6x]HfǎRp*$ gjp oU33a?yBϏ2]ڵx}քvYq%$ucSw(^.C;2@86 +p_,$Ĵ Z6n1&An^`ܝB |zOKSq\WS7u5ܕLAVFR\.,/== uru{ G湑^lOc?9P"{GyX837ƸrѠk4i7Ef7n;C, ^`/o}Nc[vNL} 6G1R/a^ڝьR̓p5l/8/MSo>[@U1.fkgZkcWW5uNpS=78g&s#{1vjJ,s'@bM2 c׳I39RJ?eu9yn6&_˩ʴhv47P`MUv y&$Îı<W{=?njK'I^H \2g[(+4RGE)q4UD>w<@NXߜ}9qF~&I"v?CEl,6#iח1EDDDd1˞B8'|jk f """"""""B""""b=6Uqǻp.wMz<""""""""iXDDDDVz&AX]D> _""""bgoNMTtpIKo  :F#dnry*4R'"""""""","""""""""""""B""""""""""""""+EDDDDDDDDDDDDDV-ZY!,"""""""""""""BhXDDDDDDDDDDDDDd `B """"""""""""""+EDDDDDDDDDDDDDV-ZY!,"""""""""""""BhXDDDDDDDDDDDDDd `B """"""""""""""+EDDDDDDDDDDDDDV-ZY!,"""""""""""""BhXDDDDDDDDDDDDDd `µ>/~p8  L %^pE:%"""""""˅EDDd}?;=Nbf&.&i `" tC1&kfYm>AnqlhbMzh܅T?76<8ok⚤"y?/|v'5i0KF3GOk{.i/:5_˧Vرsj>O..Wr+An>.''7T7q/Fn9yr-#- 7h``+l"π+/;\-4'_jd{rѤJ-\v/&޳R˻n/~|( flN`Y7y,W^7fWLq\0թZ.dsuX95%psh9'߮t{R)n敿??6j<Jd3C,ii8Fʄ;쪽' pu0U__ pCs7۷9lxۓ ES=[Eu|w6acp:Ilٿߔt%-[?Tu*:˶Vش0sj!bC$q 7=Fri8Ob$݅}-\]NsXDDDDdahXDDD#g>;mH]4p tpYl`g#_gԚ `2f|XD#I/EslA)k=QNBrŇI4nuv#i1iIW2hXDDD-ca~ pkma\ð|~iXca{XK}q~pucTOe? n./@_,f..H190BǺÜMc;ؗn ɪO~{$ [ ^7npX .ȿ_FiTQ+@l> OgYNuvGRq9/|z.|t2HbWbZ۫[X2= 98|ghlWv)HeƻBN_'v[<ʵbOz}-2˸ߕݻܖLmo#oӋ#,M|5T,/|_`"k໻2:9lSU.~G+ޭ'y9p5Sd3/lBb4o ΜFcj,Mb mOnټmügh[lg{.>'s&f;x㏞MyC6dLp?\ {6z:׳{]);SxZ'z~ 1oUmۙByW)eC_F1ۊOoEjA)Npg*Ή f,W⅚2vfp͋eM9Bgڒ6r1ݯC-9#z_;gk1<7ƪMTa[\6VTGZ{J=CºM)t/HGη}`a1|8/ㅭِȅEեH㽻cc:,i_' zpd{#:FqnN>:&yHi*H vqwi7y{9CO/ R I n M)! )ohs%¸jZۨ|GeT}]k`|dWo`Y 'qQSe$EÙfDE7KKI%{c72PsOWٸ'd4|NWv;]\qD C{nbsi.kQǫ'[ƬԆ+)Ñ hYƊ˻)J#08;M$n̦d`0Ik+7nH. *xv}ڝOF%;h Lmbxxnߦk#Ǟ{OCl>"ۙ@l&#ɫ9g_<ȷmOo1(շ[Hܴmw.Ks{x2ԅ)QoGa4#1瞩$s&00pN H'c͘x3ΰ }`/oۄq4yfZGnrum"[:e#9j * 0Ha35lrc8|b7'ƠQg3qc9mUbw,\1gr՝C*7G1ɰhَ9L;:9O'+N|t2h/dmR';o3FɳqZ, TWb&BQ #9aDu~u2=;Hź4ۅFjU/6pi;-n׷`l\~"5fy2؅+sPE~Azڴ/#N.śp{ EFjX8W? b>MK.-i?[RcQq^GIsGDDDD-Zcڅ6;izn-qka:Ο'Mvj;/֤93J-agNcF^A>]A1qƌI`"@I`эk.} +$`9HMI;l1yf[>o $Hr—5xG7NK"uf-v|3s Պ;loplVNvu֏c7Sx xd!.̕kŠX|XsA2ӓp0?`Ũ6Ķ_Փ?""""(#EDD!daYX/~L'z;Cwb}7.o<[ƽ'!Z]|xi+!<[ھifk} mvO&;}2~&vɦibkߦwN>"mUY8Aߴ-$hMAt/ܘΡA3#'$eBAI.)>юb?/P :z=W6#Bm&]؛or i+YK 9}˃/ww3[aP7GV݆ajØM #5b'"+ƟDDDDD,"""kPc㌆I&_Y>?#kRl:3L?7paH Rٜ5??ʇ}GnR1;%"͡;ϝG1o` F^~H-n%Rt,M|:ʖ,V:O'X4>O߽A0å~nl5YS\B652(2 [O9ADDDD$4#i EDDDDDDEORagG2nÍަw!~&<h*0L}+""""""2M 0gy"olSUI_DDDDDDDDDDDD$L}q vBnkt [\R2Ѽ[DDDDDD7}XDDDDDDd1XÜz_i 毎s.q\;[ˑQ*FU\l!""""""7#iäDDDDDDDDDDDDDDa;EDDDDDDDDDDDDDV-ZY!,"""??=R"(sl }i kwY0}ܼV?-w8-X[ǟ~t-X:n5fd tGRԆXYi}gsN28׈,""",vą]Z &99D";5sE^y3>0&]Wjy m嘱kKg8bm-yY޺>oY/mt9hZ;+9[:0K͢"O}$RXˋ0>IrkwKǤG5ͥьkt9aglײwl9Y@xܱ=9ɛo_9T0H+,eK|/6X#qZ6؄YU֬;uq;nlmS<'/y۲"|sѴa!37;'9׈=EDDaW΋;_$y ? #|#Ç"<n\Gv6~FgLj˹`\F"yʽWµu-q v"X 2\N>DQ~n<8+(^8dű z>R2Á+̊488X/ ܎;[K!c?,ueXi_-u> ˹FDDDDbC """t&*c9&{x[$u$olt?k8Tܕ.:F&1rJH3,>柯sd 27ݻ×柺4/6z_ؘ2u 1S(`oU&I\- [nrZ]&t**ٳ&{OMyϚ?> K4|k {Nz8GIFA֌Ov0 ގN.]) ؝qƻ9r~7 Fl?* )hL ksٚG/O'[hv7~Bàm|@1뵼r~%|͔Ň{_o}yt7o{qU&n'Yw^>I\٥<#w t_ݠO=OM1~ )۞،n5pt7 Af cx>nYdڼ+b?=ͤ97fMiM|^줵G|:|h)Fl+}<j;\wg_䶆뱕?Dnh9kNF;~ꎼO/ R 7/PQ;w 孽Ub6*q{.|t2HbWbZ۫[X<Zeq G+w-l3[9\(̳ ^7npX .ȿ_Nk.p,5>Yl `yMs2*Ӄ5˯`}jz mNVUbciE9 !=ue%lyB6O `#Vc}kw}صa y86'zI\35kXV.s7[<͗q7UƏq΄|*3]6F棤f#{&kyv+xsKX<`++Y7-ԷKeoCF~u"4 f={Wc0ozNs5T_ϖGy7sS1Fq~ސM9aRR؍!oT8tܹixxnߦk#Ǟ{O\TV$KRwto$JWeBޮBr)^Ecuɭ,Kp%R*t#H|jJI/`K {w0VQz'Alٿ쑛>7pg;gr$Юr} ~,P(i&oozҦÑڒ/zy&lfSI0̤5 Ξm˗wSGfy9apN_"݇<;8B;RNy]Lu뺹[6*Ly=yc)300pNKM#!$S'7WRIe1 T>TGc؃^;mڰdm!W}u-$nĶtVBeA%>_-yE9׈Ȓ#EDDf$t&knb`"`*[RgܓIQ`=dv-y&#1 >l h$㉍%ˏظ-4ܳ1d6A3Ջ׸aNje&@ȫnHvGӁsK6`pԙqԏ9HOv7` @pw0}ӕ_ڤ:Nvf,Ҧkࠨ8GhƲ=͘Rzoqm /;E9S7bhfZYņY$F<)/廈s䴕\a#?twq9917RVyKؙhqc^#y|\Gs#A:-օzĵi٬ Kv4c}7oquܠ4;^N:Rٴ=`A%:_->׈g8y9K?1FժLhh74rKi9߸3Ci8I*\Ӿs[ V&d=;9஝x.Ǹ#I-agNcF^A>]*qt?OΛv^Isf]g@Ic߾NOlYZX6Vۭ?v6u֌xّGyEwK7Cӷ3}x$Os192)pt᝾iatrA߿9 ?lEn5}ȃ{umoTq؛/6*$\؛or i+YK,E%4㿑_rp>sp8p7([IК0btzp*fmmN;ufmg[Pl3'bIsmjiW dt#0d"""","""9T礓h8Mo>}^F= N0a7vd9jo:}w.IlؐO\w#o36P?򋳽L ƑF qm޶F>hS\6Ng 0pX=uSWl]ɤde$Ŝ,<&D0ALjg??意 +wd²o矼>#nkˏgaMZ@\ t1 usLzkP_ɡkm^sn͘5Nb~sC -<כ'0x&ɦ3N+=>{ G~7v2q.q:9z^˚{~<> 翗̯VD֙v787Db ƞmz7Fٴ%sDsic~ řA1ƕ=-C^#]Ik޿1Cw`k kvk[µ7mQ[fsFz= DCwWKwZ% wåBDDD$Gۍ16:f$߽df1N/-kx󏧚|o5 O #+oOr~GIwj6e=moR0IeKE:$oۗHj:PΒdN*ʨtǮp6éeܜA9ĩw/raT\Hr3٫4Mss}N1t`Qͫ?? p:yW9ȥcw[yOcf;`7-ĸ1 d99[L&g>/og `1Nd[W|R3ot;_ۖK0H5o닙c2,PYB%gQokٛϔRRAaf<>j06OKk;.6p~0^z=jY@Ni}WDUڰmS[ ?aoQYʸQpζ~;W&uՒ\?q>mFDDDD z"""""|Y~/k~6+񟎥=X=E[U[DDDDDd#EDDDDd&h\˅<+طJ2-""""","""""lY>)ʖt:y(7JӴ xFr`Y,˗: Yzmnz_JFlFdl܇i:+rDfyv#uT>h9΋_'0:(UDDDDDiFfKR∦{.8pZMycmql}Un4G:y 4R:UJRncu;JyTW/ sٙ!r7ob[XMTo*_MnC8^~KkLqlvȎAzaܼc;1\ԝla Ui8ÕBw/ Q/X RS:ꢔ{9̩pҟņx)LN}įZ\͸FF|&[j*v=c WbPf\-Tq4tLG}(BDDDDJ ,""". ٮ_w6~FcxkuGbr6r.05G˘Ajr'9\Na^w 10Bwoۅp}GAb^9/'>EHdUE B97>;閯Eʉe(VŢ&e\ɂտ< cwqgYUpo0 zR$dtSj#7t ݆V117M]ĎH323ݭn=H!=CU2YH'4'qduT&Qʾg mxG㏃1/Uxzq8r1>Bϡ)8g_śWQlrqsڳ<_`XB) #7x6 J.Oe$ԇFľin"8顷u\c{c m.}z-O%ڑcwMlpBו۲)ޙXe^.ctcJ4ä9d 2l7/Op\7=]P{NS/K^ƩNZ} )VTgu&{M6Zyi^'ĥS]+R?5y@uE+r|xI*(Z ^\19n}?V짷O/`Ҝ/r+1AG_G'WjivL59AcW-4cSUkaFqf~} omiKRq~ee:omr]W'h6:pg۸}Ǎ#4smOn/Rz"e^~pĐ p)gOy\:-_E(_ݍI Q~+4kyv~1W֮bN19QAe[7fsI'R}/v_>hC3=} k!r%󺆙(^P `YΌRXUJ~|ōSQ_}۰#yrW)ێL4fxUym\tR<7 rKؖ:u~]ɦZuxdžK/9X:4 ?ˇi;kٶI~ސ98xWdmq{m/;R 0()Kv_>vdX·8<_fk8T]ƶA{ԕ,#h%!qߋ)|k;ٿ Iʟ}XNJX7 n=nZ˟pK='ۼdUm7lu6#ˋ㔬/%-O%WRKQ|^OWRfT?rT=d?7-T6t]ֳt+rUL䖰.+ڜ3lAW;,;n*2=@[C޼ dڧrN}mCvJ*JXWCaNi0HLfUY1+c$y3l$|rK`6*]AUn}ͩ>+Wt VehH59VkUx҄q4љGe:X?ۼWcW gWiщ{Y1-L,X% w'n c(WFj;(sqt=٫ֿٖKJ L(yuܰ,9eaL2ڒR ~ݸsJYƛQ"gW[9ǚJC||0q Y~k1gg~>cQĄsP)F${6G.N=1>=D O033)txq.Uٞ6]A[2+S:ep”x2ِCîmW5ONʋSut⿻;%۪X?ʅ;]|W\Sk-GF* LGpf&?F08X~5b`׾geiUE{BN2SI ͆f ݆n7F'k82T'Ee_@Kwfk4\y1jHXþ 2S)XqwoZ\0䦰,7T["yi,$Tf0Wrpu6S)\|1|qvmS}%~a9)-$?[%'S^UBmUʖ|r ,,``h;іƌcH$t#@BVw9i V1 G"ű:)XM-hr^^γ/=ww7[ 3yan[<qO082>#- R,9l_φL])it`s]+ C.,x>0Ej t*"""""""lݽo^/_obݦjH q0INt,O CtNJ^QLO~sV:k9yqHP@g;&}Aӄ%͞En 7;*s0 X,{ d̼- w'aVan^F^7fЉwٷ_on_.9ݐ/L= tqs 4;~lߒ[,Bn_n/&SOTMHMN+̘7^qy9orkhQb)OV9Wܧ<66b\ʳӸtKm~6 ϪGJÙƲ5mخҬ [`gxY)sQ.MX~c -ٰ:α_Omا0c%l6l,%S6cѰ瀀Ok(,Z3˹~r|b>q7Dc)D˳.vofN? Ky g)9 |j\H`u.Je)#\0'##PZKsy8ooWEDDD$,MȢZ?e?u#Oyk|f`7Q=xIa<&٬e?04Xq'U@?o/Mt\:O/^Nu~Kݳ7rfK%579ٸɍWb|ی3 |~Lb̮8FJEi˩ڔyy 6RSYSt|Gݸb#3݉q|9<9_drӽ4 bL$ZKb4-1Mu98g]?4'6JZ3uI*^×{ ]+Ea0Gyژ11j0y瓳=:?>t_\˶l#o ^Ύsм}VmYI|ZU.k V^${ӁoG.q Bl]W@"`zfb;>ˏaM?ٰ;K3$`N?yt+)beefgɥiC!x)Qnf}`$MLD|~eׇ]}ٲ4ߧ{,U+ r\ycƽP,{N6E !=(bxGIO+>Mneysw͟]yuXӬ2b9Wwc"[٧<=XhmĒI0g 2X7ƩIl,Ld;iťQ颥m{f*>o;ƦYlࠋ$31)$31c"'Q&[\j^=2N`hxCB0 hcm+ĜgW1)7N y F p;˸|#ݫj\oS˦T>ag#!'$N2'}dg%􏼀𘋡1 }{g5$l 00(CީN֮#wkz0:<@ B_~2-UL4qmQF>jQeu'+1&v]n|=-'(|xL&S3Nj?0>Iw C 9V2N}ڇc:ǚ0uW>+1rciXXisNdn-%g˨v E<]F:ܫ+țdr5;`=clww2&1lx,Ƣ|2 $7;'ޙ|pT E@/37loq2MSI?6Fst ;X7@֧$LܑOZeH h29Z uvt*p_ <4}$;lmI:oQ`_Ξgߢru۷[Tf+w.#n8NŅzx6[+g v$UE$o#4z3ظ"ک@%L3n5Q{ڦo#YI{r- ҨwR)0mm0Qľ2VcCIƺ&hֈu(On1ePz#l 7 } SfucTl c\mZ\I'{0TC 2;~Vo.GX]d(9{5'xxC~SYo'o5+jg \͉T6VdQ[r:򟎵07? YCOX?ڃ#+J 7VefX9֜'ݦdkA6MVN $S[q+D+2.И)Wr2C\F N@ ҲMR=m8"ZR XaμOIZIÃH뵹^F>,&'>w~4¾/z"\/ˡx; tr96oo _6EDDdQqG~9^|`H6/k,'!0p%|5_y=.W%<)aLmj\M,6sx٘ I0ĚD;H_ @?w.lˋ)O1EDDdz cz\6,$"""KD /H3Vt2}I7cT\ 'Y@^YTkWDDDd7EDD̻yzC~<6n7d=k7̛ΚtL* IűݫsHG߃k@""""""""""""""KvY"4,"""""""""""""DhXDDDDDDDDDDDDDdp<ًxUY$5WxPg)e| ۨNYn<w sv+'/Q~/rƙ d? /}ېHt&"""T52/y(L.|SW/FNz ܋W5¢I~eNv }EDDDDDDDDM"""(G;푏9^bh^ho>vl8Ox3*![*u|jyϭ>υ l؈/ U;˷=;;v>mHDDDDDDDD"MȢlkz5aXs&ߟص9,_yp\qqTN=Y)|hXDDDf`3l8\}a^nn|!Db8_{_DDDDDDDDI@DDD~י ^?N0or;F|sS<4_+xI(\^JUqo?u>׏?&ƼdVmL1ñcW#)a,ĖxfipIϕRo)ٶ{'iෙ NW/(#>|<1]c3q| :8rw$R^] [1ʜRz).+ܲm/0%r6а w7q듃L nܺC rqݹC#/<6kۇ2"O󲶵 IDATo~=SJvq21d_2j=Ӧױ%8x&+WS=]#>${6G.N)#IiI&)I,—,9 mWL`Ye1CӯKv_gפM]NʋSut}<__=#Oi'[f gg2IdnH(ʷ.4- 6ftWDDDDDDDD$ZDDD?#S0995mvxZ#hqHfu*z6U=&@!X:n3 泥~KjGA(. rST6bt0 БWJg-;0Nif8HM ;6mJlgÞ\ܼRǍn̠sGˇ<0\.D2l͘79 Ҥ `l1g=L ow7'}6|+8G.ϯ5מgzXX٧gtp1x>кf Ln$'>ʗt^ -T0Cj$]ǽ?1.:WO8' ݮ1GDDDDDDDDZDDD 7/̖2{vmCY8,?n6LJ5q(uB,O{N6E !1gxFA۲2wl=cy0hb`ll9;MzZz,O˨򋗑*RM)}^;9ͳeiܟkU=3l8>ۖs98 ѮYX(گ,M t{H'[v0I<+pyM^Sl:O b}ݾq:3dRlde8[>+= n}Zn.|~K͗n&~>Z|S O" SF V9̛\0r#׆ zy?ff|1_Db{-o&T̈A? m&&}&^$\%z80B2 &n31˛(.3\>hWA|>^m.q p;EDDDDDDDdiG?']DK+nIcۆ\oO n%XPFeB~#\Q6eTM'np#ehۙ֜c M:hEYZM.[Ae 78 .f /V:g!qb~e{9w G0R+U|m ٚ5_"&8ýx:> w0Z:#?yhw]T;_\DnnNir\Pˉn:ٶ!2KL/c~md,8+@;'osz'T$760v5UtPG)El❟*w|$decYȒe\zQ,Y"4,"""""""""""""DhXDDDDDDDDDDDDDd `%B""""""""""""""K&EDDDDDDDDDDDDDM,Y"4,"""""""""""""DhXDDDDDDDDDDDDDd `%B""""""""""""""K&EDDDDDDDDDDDDDM,Y"4,"""""""""""""DhXDDDDDDDDDDDDDd `%B""""""""""""""K&EDDDDDDDDDDDDDM,Y"4,"""""""""""""DhXDDDDDDDDDDDDDd `%Ϟt!DDDD vH~Wk椋f>rC.E;Fӭ[eZYf,\uI:j.|Yޮs.AnӌQUJal'f~0u:F˗b:>rB [ofk}gpm$13ӷjx η \VBYoV}qdֹMf[wb3OzXDDD%s6]vm3́qfY,tߨͅ3}/ͤ‡~=>~kTސ˽OO+a-5*+WxxyٰǑDFcTK΂G;}eIE_O⟝V0}dҹM,~>:K2 e?*[7ǡoH<1lx,J+W#sۑ:X]o})$,~<ӟxu,:[QAi|.[W9mh! p-kw Ͱs5d,g?bgz}M-OcjŔӅjNgΏr[{?qGWEDDD> Y\q.\4l-!R Z&Z`~v$g{6䛛gR o_uKB*VR{~q01%jUgpwu_Ic$36Kۇ+Lzz sNɶ\-×81,%H ޼xdxpu|@ iDA(SNLw?ldr|>#C/laS\m& vy\6nqȭ૯:-Ҡ gQ9fSݙn#g{L\.}}\)g7ۑ6q ]uPH1~A8Ky:*ܢG_?;7D@!ڮ}O>dkE65i0Y~eݎqC¶y:5__N~M}W9|!U"5q/IU| %̭<εߘ=rg$o_E1ʩqek|1&X㣘׸36?^ؓ4;;{ioYF'9yG&vnՍSIacǑ܃u^>oE>FϞt!DDDD \^ڔE`KcZ=9[̱n> sz6e.{ARn Ry.ޯ;+ٔ?Z@ GF 3^Ƌ6su4&,goi&.a9G8bSw'Vk}!_#o 3}(ю 5 Pqet%U9aY{nCelȻWhI]Ɂrgawqôŵl[_q$?oHd8SvsaQz% w'n c(WFj;(sqt=٫ٖXoPҩ,+S(戅vns닉8Ü;BZ[ߘ59#$&2>Zoq`ǝOIxJ8Ǿ##Do'ocGF1|`G߸c=?${6G.N˞HllAFr}9#skRR<MHLivwF%C8'%'| _^dʫJ(Mj;_ْO3eŔ: M`26hvna\j[X1+>Es>GY8vJU>~ w[ԑ6[_2G1qgA *j6gaܽy\JE>{$c̅^-"""d[:`%m?2RfN8wݭ@o;&}tMV6{zJHfu*z6U=&@!X:n3 ~KjGAȲD=N2l%:nucpo66crڰ瀀O(X\^EcwN9uQ7ffoFŘDW~jmT1a2ӓ8#ZNwa,Ҧg`hYW>(\'0d&?݆m̴iڈf>y\[üb$֍}1.Zss>GY:|FrۗaN7$ SOm7c; 1^5O0INџmY0YꏺQ>IUM"a2Z@kqHz-|zu<(04Xq'ݜvB:|+8G.ϯ5מgzXX٧gtp1x>?ċ{OǥSRlT\燹m,s7m$a5w~fM |9dfB/z]?$0Iq|GFoG~9igW@DV|e ˫Ppn~ml_.y-dVV&7ZVǸs%a3>^qX=pn?OH hYQ\e܇He҉k31 ʲzyxet4շ3n{O7_Lbgv>>Ǵ}(V@Ygb}s)i9f3R B=Q8n-KYy4gyqT;tY8暻LA:qX *Hq(C}JۘOl9;MzZz˨G`66xg  O#a>4]K53#`|9sV:,L]?#/W{n&_Z~cwӶU+ r\y7*7J2,x=<:>\}.JXz]dw=*""""s `YH C=acEEɓݜ=Ġׇ ޿mjYH;.F;:;ۇiN\هkռTdy~r^o3 5Lōשap$%g#+ÉX9.@eq{+rKuI[ҘlOOu37񻇸Wx!vNj4qXF^F]}m `0}&LJ;DiBԾLO}Nڎ|r[ V9̛\0r#׆ zy?f>ɨmɴh}Rۈ^E$~ 5?Vs:qaڳ33ƹqo>h;2CbSchoi=~7y[1+<?\v-O0jo܍k͠vṇ/.֍-X9Ε?>d4R'x6:>Z8do-%+)lNlf56V}<,x=nϞN ٚ5_"&8 $?y6] ]m\ R6w-,Ƹ^s^lٝ )+ (Π ˠ7B Vt׏17h`0uF~F--^. vv񏿸 ;ܜHad=C6X̣1Ig-<lX@Cy th}Զò"nsߴYjIYj8gVu3.,eu^ӆaRVRz}hqncyn鸌$ƛ;gիUl˲{Tf I@@H$.)I@0L/Ǟq$K4,IGezͼ^go쵃cK.TnߧMօIc亓ɺlrg|TÆ]bFpo.= /ȕ5:WK/<2ٵӋٕ\sUDDDDŰBȍ̉qhy7o+3E.кqrOly""""""^ȍ̉pGV@_XEDDDDDDDC f,7eܠlls'""""ȍ籺zG!r# FmAS^DDDD~""""""""}3z4~^Sk۸:7NewhEռZxp KR7:bVKIٴ>ƣ/ᕆZ0edx_/fBZt}8[gZ`:qU-f_g;=7ei/\q ~^B_Vve`kg1<^GVq'>dqi]+f#WOoy yMKM &x vCNqW"n}7:s5ںIrq+""""rPXDDDnX*"nwN)ռRkMϝN 2/L+3+XWJGWˍzζ&\|`g}W1Y\gAoZSpa7<le_M\\V-p8s9ҟ"""""W """")#ĉ;+0 L}^v̟w_osu:yO6Sy Ӆax0gt^8g c{;xS6zi芻kc OK?Ȧ0 LL\sӗ뛏IaIޮν%""""r]TLC^k#b:B1wi;FGS3GO`ߖ 86{8bVA+;nR'+{as߽ؐ3K;FɃ?JCWwz6NTtj:ˣw@p0J-g}.5q8Q d {p=KmGvݍtYrܚ;ηRm<ڎ姇-/=߿bᖛxߊ4ڏ̷^j'mq?oh:=ECamm~~jq;kO=yI5p+{^%|`&)L:SL=W\"%.>G+]ƃofuq8ω$6}DZMh_fo|;1}#^$(gY^n.!]ϱu ne౻(('mh}A˾ȚK0c;DC9P _Kb'L¼oP} \d-wݎ]5CoO'fXu˘* 0T״@o/wSyS!x*q,!t9}ra;Blo1?Y/s_aye6P}0C9W؝?}yĉgvi|Է0s'rr6s/|upv4,!8]XƮ50On-?ko|^o30ov5z.|vr**yl/cQumeܱ8 Hw3j9q6]HoxV{^\z^eȠjcU'mqeܹ}EIMmC Y˹gif}Ni-`EBMT`CU|ʽ $irv6l;-=TZu'm1bnپifNaSV`~FDDDDd\_Ak_˿couuFC5{X;sGy_ nZ ǞIٱΝhrxOb6~m+ٲf>Ʃ5 Ww QVowy?45eylcZÆνW w=k1GqyؐH1&k1kWTRF; AF|;r&cbhjM2D8p瓷/au韤 2Jm忪,ٸfV1;<܎vx?3y ْ]KPa.Tu┖Q9z/h.EI_;3|(J]]5nbdt~֓^ Ki{}x>ob#Vԟn)MxU*WKV=8RKһeûi"#{+B.)]eOOC?"aJ 8]?+_BaAI.Ƹ>ļ =~3?1Utm.%1 ia u`K+v.f1DU< efOpD'N"]P6*Y ,{.dHA3t<gUl)/biF׎\#PR*ܽo(ςòBxKXԼ~%gG9r,_ȒǚlVݴ;WP!|GGY}%basp.DBrȈpmX8̐MeM9+sTm7k>Ks\=v-A<1A!rsBc4eweY _vA|m?@f-CDB!ylXS" h4 X]4jlM/Hײv"""""{e-d1':xZֲ&Ʋ,\JNtaM! MkY6b#/q . TcK%q$ 4\^FtmgYƑl5q[H w 6,|͋(]Vɺ<%=1Nu=W]fe&P&: /͆޾cGv?{'(㬾, ,}rǾ\<SNx$H(CQRJn&X:@_,~{ײh gp]Lv p)+LZZ)9$S0+$-KZd[_[k)r]M!4=Dye5֘Gn"W韤b ,]ψZ62r7!2: [\ 0[>IjTqԾ(0`X1Udz;6r#cK/g]vuC<>\)9;eC&YF݅WFᚲ)^BߦRX=dygUzYrvfߦ(qV1\3u. ۊ_ )k)[ '\EFbضşQ0j^qʒ5~d?ezZ/|c8c»,ِa؀`_ :ޢifrm k~.ø8""""" """r9E}YbzK'yykCWawn3 pk19&K8A`ѺɟAg0jc'ʩ!6o|;7ޒģBl9ĴZ۟aHb$7>nmzt4xfscl\Unèt\qalxȘ eʶփC͉?bٟП%VDlh̡:&apDқ%+ˈ?G[4n9v޴BNm/ٰ`/TfxQ6o}!6޴lchjY8Evo&&Q63rō'ϔcI]WA>]6C}t1$HyRv:cLen$ ra\nsuc6~WlvTykp%?,ˎ\l0]I+q!{i8s|(_fSȨ\r 6mX dӨē%j'1Av96- Gk'rt&q|-:2b*W /_8NGFv%i8}ύ?x*YA0* 3`2 &Ni\$thobh0&G0px/'p,[YA9}ʦ}mG r ff&zyHYW(a9&k'<24r\DDDDMM`rX#&Eo);чm_ #K[bDn$=89RqDPhyx`Vc9QBq±f+LopHn$kΑg v,Oc}&|zڣ6i 6H%bǧY.w7yf'rlmvϡv-X_ϼPMmS/M2i ̡3XRmȮ훲_8_m/rWx.b n_#up" 8YީdR}]*:Wnsuuic6 c8NHl1BQ;#2q #},Y+8HƎ?qpxt'fX/pa3d'8cFׁ9R4x^YE#y0N=mD{^{;Kv܎9wq$8L,[]v!!5H²I/c$+2~Nc hqz$bIrtb}$訯*8cILx- /zמûX\8HDCda,j"_y`, sBqwl穙ɂB7 Pxz> 02.h"@X'Ns#1rtr(M}mD'Z:.r5D(gi9/M$cdce!F@@;#8|]ϫ BM]bWf\ՎʼnaJ0 C<5DmV;1Q&5'@4pg[8 GF&W|5G^;K88.nPZ4z'k|?QO:"""""s ;uby}Q=FOF%68,;VeA稏Z p?%iVղLUu9҆r;( =;p'dOuز6ކ&k'Sª=(Ȣon26GǦK|Fz=Tsذ(,P]{Nsܽ6g䮔TJǛZLh\.ć7pWL7aI86P䓓J{1XԱsdIzj#YlY[JN҇֟ƤPB.;HoȕLO]O)g]JF6. @{!C'ž^zC|HyV3l#)eAqbg|M[{i yY(n0ˍyE>m5<5 2SαA S1ġ=9o…9dnv/$|6+!O9`Xƫ!^g~>u7#?f*hZ`!pm}B˖[=J\K'OE^_-1&ǣ7gfʛj;ts [nޚ΃?V$dq.N@:oFgDQMk{4/rW;3>mzq"""rqe>ܺ=mta,~u.Al=`bE|G$۾z|]DDDDDDDD6EDDx;DFw+DO޾Cv8/민s ]0g\+EY=\8yu` P!O3.rl.Ϭ"MQȍ.BOg$z°pv=55c47\kv]P/"""rOdx|s_ܜ7>l_b'<=Ù#<=C{8$pt9ag"F# YfoյT1᱗91(]/W4y\y|uc!U0hhvsC?Z"mnmc n:/ αy!|fІ}~;ij]:jWp-]:@Ýo䎖 ?f*ns}Yn&*IuFik =7'ڃ\gs'ۯ1qfpgwz\ ;=/Dqd[?&q)w, +)͓l0V9Y哻ܙm|ԝ}1@$_&T [3#iwOWbi9t&JxE""""""""W ;5g([ZEM,qm[(Hm86,Ya}sbtl/ݹT٨pzGuytsSy`RN0OX/sWd{/e^*4qc=~|"0{KL s\D[c*. ~Ycp'Η=N?)&#J//qu*,]3ng M ~Vo1iy6o1|pWl3v?+pxH\ڙ3C|yNS+}%ʋ&wl=y2)/ZJ]~>M0ufr/KR;O sg,6ݖ?rKۍg[?'.p=in3E9c"33'oo^7(m,y ϓ m~GqnZ6{Ytkp-T sF>Q6o}!6޴3;2ŕ>v ȷXrNt1g]{.0 y֬aڜb`KDYͶK| ޵'S*$r2SQ9\6\Iò+/~ןwY;v,8&I{L oa /OA>p.gޙo=տ\ ZZDDDnfH#e@$L8-LҊ쓜7>FwԄ~w6k@fpT50!4 ,J3Xt ʎ͹._ 1\؅8hǕDu}K}M#~%c:ٙ^B!i˕f.4%.c79S|Q8:i 8f帨pVQ688DG<+iQ*ܸyO!gM;wfN=3zWZ$"""""""r-,"""7'"p!̴+ިO2]]wbܺK=4ۡ5xi;bfD|o_Na /=T2~BMgOӱcۅ?r;Qێ+ǧWD|zop᭾!?_'30w̎z~sSQ*,[:;rKFqۖ'{Hk*7JzgkFNu? r`p:1ب\-!k̶qL)myyhI_M$phkYVo>[ 3_[1Iq ֧?Fy;;clN=չ=1{0A۠$k;HDDDDDDDZp=~z!"""c gb"=+,تc q~=NKWWLn^"OAO<Ap,AGtsyWNGqEL޳  ,qcՇ}qZ,8.o 5x|Qo[hAog&;FiCʼn8:~Oܝ{GwzxO_ю%e^6mEQlLЙc]$_r,vml o+1e/[ug|jw8ty W)26ynYImh'j ˽OF8z\9=q,8-n|'bӑb!ܛ`ome}1S`B " sm^> ^ {]~^l7'47up*S >o&^&}d3{ZX/,]fp?^`pb΁8?? ݤwJ"kŰB7DDDD~}?8M2s7#T&"""""""""""""2G,"""rFe&MDDDDDDDDDd\* zBޑț """"כcK<\e2|!;EDDDDDDDDd +\ DDDDDDDDDDDDDDdtipoVP8HI&-JIK$-G= w1;~~slD̆sۻݾ#ɲuN  q*ԁ}* }"||a>x2Ed: `uB""""""""""""""&EDDDDDDDDDDDDD j """""""!1?8vbf؍ٿ  $%ኈ<UُmM/cA0dԱ'9JB#_a;,ۑ"~K`rƛ-|t˾obO?cNO W=Ƿ<^um+_xdE&|sb'#G-?pT:kv#] %:9aj!Z?z<ƙFL禓wpm/ޱmc9땪3fX+b=[PDDDD{%,"""kGW_Nah`.ozǐ$=bNq^y#8:^9qF=üGcSK\O3CQG?T!zڻ}>7bA?sG=&Ny ݇ņ``ds}߿<7wRj{N՟ϿĿlq鹶2+Vb̰z)ʡD=5p%l@lRsƻx8maB$o~91_ wϹ 8rmKİۉ {ri__('ͰX9hr0EA 1o#{"|+t԰Bc}#~}}UU7zzkF'_Ŏ }U[}Q >7f-uW|nFCn&Tn/5ɴ#%قs6ҁ42*ʏV]qʊym#O"""63øQV7 1%8v{g8f o~5z0e8V㤨Eh3oϯoh=6D6cv ͎VNN>vl?yV[<_Žor60l3H}J3LXzs% .8eE-""""0MȚf l C<WjފՈk#R2oB?ΖӇ=o%X4VO|r>?n=c//dX\.4[H1Jy.Ǎ>%"""kpY~v4<έX)[OgWjh|?۟ 0ݽ8q: ΠGsQGkR?̩[ 9y`ߑ6gU ƑQGRxBG@s}]8[C2^d5;z*h2Yk|:-*ro3Gi񄘞v3un}ko/)!Nl?5L7  wUQhsxi`B3<:@L".w ?toM;ٞWp.^s|#k#_=\Ha2P1}A=|mܶ4Ļ_?ض/Y/mMdӵ]1(./Pe w{x L}=1I)TTVppCw'UO/ِ駭ׇ3 ck^rydZ~+1kj|vRsɛ6KJS4}D IDATr_mG\&fZOZF^&2D/p #"_(?VGۤȋ]9/.2 ~c;E{Ie~yC|is"1/6ƒsmzu w8^GL3ۃt;+yuU ¤ٓ~<3KZj}G)ge9i?H"H^?H8A`rt+Ye<[ gv{]>ȓ_y>Q; 7Wxq 9T{Wsp[>4љibǕb˝tp/_xr^;QKKrrc10?_=š⅝ܒ38U wۦo9NH7 .//NR0'zfؙ1m4y|?^®1^yڳ73& 깇1Ƿx/y??x~ {`ԝۖ9;f2v$mO0/T7mߺBk#G&.wQT́vNp OeGQi<|;ٟ2HL ". vz]PVJ`gZ1 H ؎/iz頡w;EEl-$?3Xlħdms-'nLM%ٜNƽ|M۲8n=?pWO_ؔ3͙[,kzMvV>Y]Dq$jϡ"́aasb> r0ˍP3t\“UH"X<bv]o'wg S:/)I8,кp]L _'q#x43\r4AlTO7'o259H|1=]v㧛a")>>@OF%{s3 g01Y̖8v8qh?V׏e"Xgi+b'>ɱb17Xjxb{CS]lvؒs9X¥>7m`^ by9_3D /TeFc)fm#!ܚ\9B_z)|/YjKuė~7o>O#%̞P6\ ¹pKZYS`dv.W\r>0H0n[tjK+ՒRsmq4nwE1({|r%YK%mF L<>?&sϛ8^  6\IΰMwȠd˹W{iRg]LRϜx?IWFT6&6VPɧz"YN<4N( w2LfB]&$dٺcEv|1?I6g1|9k)%|pJ_DDD1W@` fi;`Ƨ3Ϟ`W3L/S1lٔ%2:7qfH7H7.vU fu;,[Z Y jɽs'svxgJn !Zk/m–E!_K>vRJL\~nqHG/ɩ$S6Ek$4>oPIV["0<񓈈̧ `YI7&'=L XCc]\lsG~5 ~Z졜bl&, 4I)#y7m$b wɡ5ש=i3(߶Xlf'ǃF3%~mϏ 5H)3nߟa4`pݏ]&Hm"L0ٷ$U+1"XNn#2HIw .3a''+7Q ރ>SLx oܥ~d4k7-96VM}^G9w_\k5[2URq7s}q&oS),>xx*3\(xo+5sR9/L{CwL?YQ>f5xMk*4g(szs{^~ xB|~X(rcÞJ1}LMn=m5y> 2en՘# L7^}wWe۵{&LI\U߉;&[JvpuT"]汚nKjV#vEsEVHyYh l '/V;yi>w7ivBV! ܭm\F7I#&c5 2MØʊF9sVN^Ŷ:3ddG#N19:Dk[g4ri$^nl[žNڹ-+/d~#owœKy v3t :X?DҞ}{ L;:hNegI Tĸiij䭓9<ȘgТxaRH pB-'z5iwrwj[3,@Ey\hy7W$`Wp9KS1N&l99o-Xlasa'{]$[(I0{2MqUyqc7ɗʎ ޗvKl n3S{1%y!N<}=\!lT&b\scLp:4x 3)s;9fj+GgK>W *HFԲ|<4/<«R-f)ؔ 6q)'^tv'ECwdLN20d #``:Bo!vjNw ut2*dk_g2Mw| /.p7 )-'՜o1ε[I5~-d3pL?S=m}J嵟pXW{lTB.]/KLXɿ2XJL[FNau5Wyb;-d8ZIڐGaF |HW7̓PPI~r v1MWM꽩ޑGBcNr;kmC d%+M'-l\Rm$;=~,gs:[&-8kɖ\[N!)w¬a_N)74@>1 tVr迬sZp_DDDDNuDDDD09;I|GٻfO{'+}lc1ر}g;詈<`z2eM,E9pxrJ*Ƌțb\/"""""&EDDDL$"""o07=9$B=@#ĤG(a̭`..#4o|ĝaD5_} PDDDDD9ٷ~Fqi9طoNỏj3(K$CViOTfl_DDDDDq `uB ZDDDDDDDDDDDDDD Mu$ĔOpݔ#""""ÿX DDDDH#wr99PQ!DjNO{c,C)w[n}|4߼[o_5rWߣrãk4+!>R[s_pkFm>kLOS:bWd5Mg%^9;ؐOn\ ZDDDDA `Y { NRkyZϭ+WxxxOtMFxnŧ Yn}^k^)zfG({+~%6=չ4sy8P5.6jݓh!oE? M\uc螎8.POKl2Ybds{ LГ8 :k;ot}+Q<2XDDD֍xoLrݧF\;+p3HeFNfQ evNDzŬX 0pf7{3Fھ]^vdW̎~`ӞJ*  Zav^+tԵMSV8{4x(ӝD֖@qƏ;qSsmrr6?y.|իr [|{meOo۞_yh'"""F7 18t113'C0vb WԎbUi|= ќWt3!n1.\BfLJ+4Ι77Z-RXjݓAc%9),Hbzd⍩ 08aM w&l+JþbZ' \wisرEخ{<~ODDD f`3l8g5\ş 0 c\kdrsZmQ[,_ѝh0b)(*!/43҇&qgi^K9`gqYTdn[rvQ{y?#"""3Gi񄘞v3uScmA6a71[RӽL9qnvop2ŕ38;S$~ p'Z8_{W& &d/<óC d2\̝)0絏Ā{GZ^P6g%ⵙLM%HxB~F'qdT$LLS4nqFa.q@C kyȇT8kuDOk|2%}ePOQq] 8/kuMJȿޟRVMco1[otSN'@3T y4o7b{Wl ~onA=|m8CCUSxvf̪}|ik&S휮uԏDqy9*HӤ `-BEe7$qwjz}]u ~z}8 0%.>QH~+1kj|vRsɛ6=y(lĉcpL>vOGJ>|ZCR>9wUE+@wUN4Nb 1n+>X+p޻Z9oW>#>Y4>;+ť^CA?}lh[]ʾ&'P}l噌՟/ߞKOrnIg~vvbrc"a9y.- pL=m.y95CmΌ)p'^|fKW@J'O?ۖqwe[9若hr\Ap&FH)#8VzJxiŒ9 rbřg 6<`?c<dS {6#q/xjl*;[zM uM4YlΌ=bL\+n>{ikIDAT"&VLW|i \nQX^n4*hzBJQv,nΫI߼O( u_R;gl-օ Mވ˟򡡎ΜH _>}-!kxL}y/-é>;DZj7Gf_nBmmT}|`$Eۊ)/grٟ|/VPa{:/xq1IDDDDV~UODDD-}+ ?)2lٖi'$t[^W3}$BFLEi$ l7_ޗGVb"eUEۦIڴ%;!BAFnu: w/hmX sgǑ`}vVsyt^Hud8h2<0FB B!7Cqd͛Qr6T䲱8;ן=I+4W5qRyccB-g$d9 ;1< 4Jx"}G4kz\E>صxß:m(#Ԥ:`zz橽Ka`# 9=s9+.6쳓ns˱ }o\Knk?&ϖekdbz !ޖQ]p{"Frp59IH~2w{Ϥ so);9YIs&ldesk!?da1쩖ȽucsH/+1L14s^ lpϜU9l~3V*'lYQVɖ5؇1MsZvnᷧ)9r6==\uP?m}t3ܻKILN& D{H{}ד 5 @>V:?ʥ{Ӏ$fV9ؼj& *T"1=^!.gX LtE#d$y0Kk{ŰuW |T7ɞ>J_Z䵇+buo%]rrs)nXsso(c\{уsdrO[")>1TAc]NƓ\0MB86}(}5>qnY&%|pJ<&V8 qRΟO5ןS7}kq!kzL} ^ i/ޫ.o?"c#;4ܶ3A W,ceeDy w Gs=ڠȪ \忿A'dOC4t0:ɷ9LOmٛ8\^c׎ԻS2mi)dك4>i:Bt=21 2+mٔ%{qft7{7`rBܼr& 7Rȃϕop,ױSsirwEsKϙ8paEw)p.-66A3"hή|Y<ue09d ҦhmĞm7 }ڝǖHf2 O$XcZDy$2As&{B 3"3>VO)&nwDz2b6HQ7"Lo\Ogg=yf *u}kq-!kyLdڈ%)LkFF6e $(Pḧ́۶}tbWeG![ד U2M|D/>ƧC)|fw2-=L.k aߺΉƙ J`29E #u~mP}h[g. N>_sڸ ^ܓvϏ yDgLL9wܕzsm;@p|ս|c-Ÿmcggh) r{Xvkɡkx^??M(: w[m(:ǞJ1}LMn=m5yhyEW,3HIw .3a''+7Qc60:1ȄoB~]rg8H1A㐛qF|3d$eKMUGߤ!j]Z ƖLզTMlg㡿l'˰d%# 79 2JMT ~H3WԄV7kYc>|a3+mQnuv QĖh|tNpü9.M-4!a=ovwkzL!<=y =$ҽ~tsWw[K/V;yRH pB-'z5iwrwj[3,@Ey\hy7W$`ܭm\F70n~@/Do7 cN*Sq>Iu2f˱T8(cv_:dR㦥N^| cRݞ-;٥dz_e8 yxĆ0H-aOnxj'Mmw9afUK_IˉV&# $=}7~ LZGx &4M$i[!qi6:.0ToJcg+_T-TVvKf91V->õlξߞg*P^)qSj-lz֧I_)^~\ Q%TX43w ut2*dk_g2Mw| /.p7 J] =x<7KCڼ:YyHL0fyO2O-[$mȣ0#{ybғW<#Wi~:GIQ`crend&_*;6${ P%~}kFImΒdiĥ&nRէ3ql~z/ϗc0x0mp ݎf[tdd.­N.)d_ƝoZ_>pdA(Hs$?o{Ɇ{zOwinRMe<ҵDDDDd0SK#$qz[o<էȺ)"M OuM"""" wS+Sk.>EDDDDDDDַh?$""""&εٯ&F;Y[T"""""""" ޿PTEej$ˢyls `uB""""""""""""""&EDDDDDDDDDDDDD ÿX DDDD;:R9!Z3lmwOQFu}U\IF>r\sb1V#WcSdl'7nn툦B o䭷/ӚQFeGTC|x %PYcexPg$U}0ׯ?h*&EH}m`M}C՟kߐ#|&aFioo3^V†u8y7cv""""""""""""""|FpC""""""""""""""뀾,"""""""""""""NhXDDDDDDDDDDDDDd: `uB""""""""""""""&EDDDDDDDDDDDDD MY'4,"""""""""""""NhXDDDDDDDDDDDDDd: `uB""""""""""""""&EDDDDDDDDDDDDD MY'4,"""""""""""""NΆXIENDB`